為什么我運行后 1:數(shù)據(jù)結(jié)構(gòu) 和2:C語言 未添加到學(xué)生類Course中 已解決?。。?!謝謝
package?test3.collection; import?java.util.ArrayList; import?java.util.Arrays; import?java.util.List; import?java.util.Scanner; public?class?SetTest?{ ?public?List<Course>coursesToSelect; ? ?public?SetTest(){ ??coursesToSelect=new?ArrayList<Course>(); ?} ? ?public?void?testAdd(){ ?????//創(chuàng)建一個課程對象,并通過調(diào)用add方法,添加到備選課程List中 ?????Course?cr1=new?Course("1:","數(shù)據(jù)結(jié)構(gòu)"); ?????coursesToSelect.add(cr1); ?????Course?temp=(Course)coursesToSelect.get(0); //?????System.out.println("添加了課程:"+temp.id+temp.name); ????? ?????Course?cr2=new?Course("2:","C語言"); ?????coursesToSelect.add(0,?cr2); ?????Course?temp2=(Course)coursesToSelect.get(0); //?????System.out.println("添加了課程:"+temp2.id+temp2.name); ????? ?????Course[]?course={new?Course("3","離散數(shù)學(xué)"),new?Course("4","匯編語言")}; ?????coursesToSelect.addAll(Arrays.asList(course)); ?????Course?temp3=(Course)coursesToSelect.get(2); ?????Course?temp4=(Course)coursesToSelect.get(3); //?????System.out.println("添加了兩門課程:"+temp3.id+':'+temp3.name+';' //???????+temp4.id+':'+temp4.name); ?????Course[]?course2={new?Course("5","高等數(shù)學(xué)"),new?Course("6","大學(xué)英語")}; ?????coursesToSelect.addAll(2,Arrays.asList(course2)); ?????Course?temp5=(Course)coursesToSelect.get(2); ?????Course?temp6=(Course)coursesToSelect.get(3); //?????System.out.println("添加了兩門課程:"+temp5.id+':'+temp5.name+';' //???????+temp6.id+':'+temp6.name); ????? ?????/*Course?cr3=new?Course("2:","C語言"); ?????coursesToSelect.add(6,?cr3); ?????Course?temp7=(Course)coursesToSelect.get(6); ?????System.out.println("添加了課程:"+temp7.id+temp7.name); ?????*/ ????} ?/* ?????*?通過for?each方法訪問集合元素 ?????*/ ????public?void?testForEach(){ ?????System.out.println("有如下課程待選:(for?each訪問)"); ?????for(Object?obj:coursesToSelect){ ??????Course?cr=(Course)obj; ??????System.out.println("課程:"+cr.id+cr.name); ?????} ????} ???? ????public?static?void?main(String[]?args)?{ ?? ?????SetTest?st=new?SetTest(); ?????st.testAdd(); ?????st.testForEach(); ?????//創(chuàng)建一個學(xué)生對象 ?????Student?student=new?Student("1","小明"); ?????System.out.println("歡迎學(xué)生:"+student.name+"選課!"); ?????//創(chuàng)建一個Scanner對象,用來接收從鍵盤輸入的課程ID ?????Scanner?console=new?Scanner(System.in); ????? ?????for(int?i=0;i<3;i++){ ??????System.out.println("請輸入課程ID"); ??????String?courseId=console.next(); ??????for(Course?cr:st.coursesToSelect){ ???????if(cr.id.equals(courseId)){ ??????student.courses.add(cr);?? ???????} ??????} ?????} ????? ??????st.testForEachForSet(student); ?} ?????public?void?testForEachForSet(Student?student){ ?????//打印輸出,學(xué)生所選的課程! ??????for(Course?cr:student.courses){ ??????System.out.println("選擇了課程:"+cr.id+":"+cr.name); ?????} ????} }
?已解決!?。。≈x謝
2016-03-05
應(yīng)該是對的吧 兄弟你別搞事啊。。。還能放不進待選課程里?!只可能是你沒找到他的序號吧 2 1 3 5 4 6這樣的課程排序吧。。。
2016-03-05
for(Course?cr:st.coursesToSelect){
???????if(cr.id.equals(courseId)){
??????student.courses.add(cr);??
???????}
??????}
第一行的cr應(yīng)該是Object類,還有if()語句里可以加break語句直接結(jié)束循環(huán)