有什么問題?
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(){
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語(yǔ)言");
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ù)學(xué)"),new Course("4","匯編語(yǔ)言")};
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ù)學(xué)"),new Course("6","大學(xué)英語(yǔ)")};
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);
}
private void testForEach() {
// TODO Auto-generated method stub
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) {
// TODO Auto-generated method stub
SetTest st= new SetTest();
st.testAdd();
st.testForEach();
Student student = new Student("1","小明");
System.out.println("歡迎學(xué)生:"+ student.name +"選課!");
Scanner console = new Scanner(System.in);
for(int i=0;i<3;i++){
System.out.println("請(qǐng)輸入課程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){
for(Course cr:student.courses){
System.out.println("選擇了課程:"+cr.id+":"+cr.name);
}
}
}
2016-01-08
Course temp3 = (Course)coursesToSelect.get(3);//你的代碼中獲取到的是地址為3的信息,是("4","匯編語(yǔ)言")
Course temp4 = (Course)coursesToSelect.get(4);//地址是4的信息,地址4現(xiàn)在還木有信息啊,這里應(yīng)該是3,上面應(yīng)該是2
因?yàn)榈刂窂?開始放,開始地址0是數(shù)據(jù)結(jié)構(gòu),結(jié)果又把c語(yǔ)言放在0位置,那么數(shù)據(jù)結(jié)構(gòu)就在1位置,你又放了兩個(gè)(離散數(shù)學(xué)、匯編語(yǔ)言),地址在2,3的位置上,然后又放2門課(高等數(shù)學(xué)、大學(xué)英語(yǔ))在2的位置,那么地址位置又變了,現(xiàn)在0放c語(yǔ)言,1放數(shù)據(jù)結(jié)構(gòu),2放高等數(shù)學(xué),3放大學(xué)英語(yǔ),4放離散數(shù)學(xué),5放匯編語(yǔ)言。