4.11小節(jié)中,我的ForEach不知道為什么沒有運行,麻煩幫看一下,感激不盡啊
package com.imooc.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 class ListTest{
?/*
? ?用于存放備選課程的List
?*/
?public List coursesToSelect;
?public ListTest(){
? ?this.coursesToSelect=new ArrayList();
?}
?/*
?用于往coursesToSelect中添加備選課程
?*/
?public void testAdd(){
? ?//創(chuàng)建一個課程對象,并通過調(diào)用add方法,添加到備選課程List中
? ?Course cr1=new Course("1","數(shù)據(jù)結構");
? ?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);
? ?
? ?//coursesToSelect.add(cr1);
? ?//Course temp0=(Course)coursesToSelect.get(2);
? ?//System.out.println("添加了課程:"+temp0.id+":"+temp0.name);
? ?Course[] course={new Course("3","離散數(shù)學"),new Course("4","匯編語文"
)};
? ?coursesToSelect.addAll(Arrays.asList(course));
? ?Course temp3=(Course)coursesToSelect.get(3);
? ?Course temp4=(Course)coursesToSelect.get(4);
? ?//System.out.println("添加了兩門課程:"+temp3.id+":"+temp3.name+";"+temp4.id+":"+temp4.name);
? ?
? ?Course[] course2={new Course("5","高等數(shù)學"),new Course("6","大學英語")};
? ?coursesToSelect.addAll(2,Arrays.asList(course));
? ?Course temp5=(Course)coursesToSelect.get(2);
? ?Course temp6=(Course)coursesToSelect.get(3);
? ?//System.out.println("添加了兩門課程:"+temp5.id+":"+temp5.name+";"+temp6.id+":"+temp6.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)建一個學生對象
? ?Student student=new Student("1","小明");
? ?System.out.println("歡迎學生:"+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);
?}
? ?
?private void testAdd() {
// TODO Auto-generated method stub
}
public void testForEachForSet(Student student){
? ?//打印輸出,學生所選的課程
System.out.println("共選擇了:"+student.courses.size()+"門課程");
? ?for(Course cr:student.courses){
? ? ?System.out.println("選擇了課程:"+cr.id+":"+cr.name);
? ?}
?}
}
??
這是我的代碼,運行完后是這個樣子的,不知道什么情況
有如下課程待選(通過for each訪問):
歡迎學生:小明選課!
請輸入課程ID
4
請輸入課程ID
1
請輸入課程ID
4
共選擇了:0門課程
2016-10-16
。。。這問題我?guī)湍憬鉀Q了吧,求采納!