各位大神,我已經知道錯在構造方法中多寫了一個Scanner,相當于有定義了一個局部變量,我想這樣寫為什么錯了呢,
各位大神,15:40左右老師在講解自行輸入課程名稱查找是否重復的時候,
我已經知道錯在構造方法中在console前面多寫了一個Scanner,相當于又定義了一個局部變量,我想問這樣寫為什么錯了呢???
當我在SetTest類中創建了成員變量:private修飾的Scanner類型的屬性console
同時,我在SetTest有參構造方法中又定義了一個局部變量:Scanner類型的console
會出現下面的異常情況:Exception in thread "main" java.lang.NullPointerException,第三個截圖.
2019-03-11
我第一個的靜態代碼塊寫的有問題 換成構造代碼塊吧
2019-07-21
把第五行的Scanner去掉就可以了
2019-03-11
就這幾行代碼他就報運行錯誤了,真不知道為啥
2019-03-10
首先你問題不在你說的那塊代碼里,而且你那里這樣寫是沒問題的,但沒必要,因為看你的注釋大概是想說每次只創建出一個Scanner對象,還把Scanner抽出來了一個成員變量,但是實際上每次調用構造依舊是在構造里new的一個Scanner,那么你定義的這個就沒有用到啊 這里如果只想初始化一次,直接寫到靜態代碼塊就可以了,這樣只會跟著類加載的時候給初始化一次
接著說你下面的問題,首先是空指針異常,那么肯定是對象是空的,控制臺寫的很明白了120行,你這里沒截出來,大概是coursesToSelect這個對象是空的,空的調用contains方法肯定就出現空指針異常,然后繼續看上面一個報錯106行,testListContains方法,所以問題來源應該就是這個方法里返回的時候,對象返回了null,打個斷點看一下應該就可以了