判斷set中的課程是否存在時報錯
public?void?testSetContains(){ ????????System.out.println("請輸入學生已選的課程名稱:"); ????????String?name?=?console.next(); ????????Course?course2?=?new?Course(); ????????course2.name?=?name; ????????System.out.println("新創建課程:"+course2.name); ????????System.out.println("備選課程中是否包含課程:"+course2.name+","+ ????????????????student.courses.contains(course2)); ????} ????public?static?void?main(String[]args){ SetTest?st?=?new?SetTest(); ????????st.testAdd(); ????//????st.testListContains(); ????????st.testForEach(); ????????st.createStudentAndSelectCours(); ????????st.testSetContains();
下面是報的錯誤
有如下課程待選(通過for each方法訪問):
課程:2:C語言
課程:1:數據結構
課程:5:高等數學
課程:6:大學英語
課程:3:離散數學
課程:4:匯編語言
歡迎學生:小明選課!
請輸入課程ID
1
請輸入課程ID
6
請輸入課程ID
4
請輸入學生已選的課程名稱:
大學英語
Exception in thread "main" java.lang.NullPointerException
at com_imooc_collection.SetTest.testSetContains(SetTest.java:129)
at com_imooc_collection.SetTest.main(SetTest.java:139)
新創建課程:大學英語
Process finished with exit code 1
2019-05-03
從你給出的代碼 沒有什么問題。。如果是報NullPointerException的錯誤是很有可能你在實例化student的時候沒有給student的courses初始化。。。你看一下你的courses有沒有被初始化
2019-12-24
2019-09-02
2019-07-29
我的也是這樣,一臉疑惑