判斷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
public?void?createStudentAndSelectCours(){ ????//創建一個學生對象 ?????=?new?Student("1","小明"); ????System.out.println("歡迎學生:"?+?student.name?+?"選課!"); ????//創建一個Scanner對象,用來接收從鍵盤輸入的課程ID ????Scanner?console?=?new?Scanner(System.in); ???? ???? ????你看一下是不是加粗字體這里寫成了Student?student2019-07-29
我的也是這樣,一臉疑惑