為什么我程序輸出不是無序的??
package imooc.cn;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class Settest {
public List<Course>courseToselect;
public Settest(){
courseToselect= new ArrayList<Course>();
}
public void testadd(){
/*用于往coursetoselect中添加備選課程*/
? ? ? Course c1=new Course("1","數(shù)據(jù)結(jié)構(gòu)");
? ? ? courseToselect.add(c1);
? ? ? Course temp=(Course)courseToselect.get(0);
? ? ?// System.out.println("添加了課程:"+temp.id+":"+temp.name);
?Course c2=new Course("2","C語言");
?courseToselect.add(0, c2);
?Course temp2=(Course)courseToselect.get(0);
// ?System.out.println("添加了課程:"+temp2.id+":"+temp2.name);
//以下方法會拋出數(shù)組下標越界異常 ?
Course[] course={new Course("3","離散數(shù)學(xué)"), new Course("4","匯編語言")};
courseToselect.addAll(Arrays.asList(course));
Course temp3=(Course)courseToselect.get(2);
Course temp4=(Course)courseToselect.get(3);
//System.out.println("添加了兩門課程:"+temp3.id+":"+temp3.name+";"+temp4.id+":"+temp4.name);
Course[] course2={new Course("5","高等數(shù)學(xué)"),new Course("6","大學(xué)英語")};
courseToselect.addAll(2,Arrays.asList(course2));
Course temp5=(Course)courseToselect.get(2);
Course temp6=(Course)courseToselect.get(3);
//System.out.println("添加了兩門課程:"+temp5.id+":"+temp5.name+";"+temp6.id+":"+temp6.name);
}
public void foreach(){
System.out.println("foreach方法訪問:");
for(Object obj:courseToselect){
Course c=(Course)obj;
System.out.println("課程:"+c.id+":"+c.name);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
? ? ?Settest st=new Settest();
? ? ?st.testadd();
? ? ?st.foreach();
? ? ?//創(chuàng)建學(xué)生
? ? ?Student xuesheng= new Student("1","小明");
? ? ?System.out.println("歡迎"+xuesheng.name+"同學(xué)選課");
? ? ?Scanner console=new Scanner(System.in);
? ? ?for(int i=0;i<3;i++){
? ? System.out.println("請輸入課程id:");
? ? String courseid=console.next();
? ? for(Course c:st.courseToselect){
? ? if(c.id.equals(courseid)){
? ? xuesheng.courses.add(c);
? ? }
? ? }
? ? ?}
? ? ?System.out.println("共有多少門課程:"+xuesheng.courses.size());
? ? ?//打印輸出學(xué)生所選課程!
? ? ?st.foreachset(xuesheng);
}
public void foreachset(Student xuesheng){
for (Course c : xuesheng.courses) {
? ? System.out.println("選擇了課程"+c.id+":"+c.name);
}
}
}
2016-11-21
我的也是輸入跟輸出順序一樣,難道是版本問題?或者老師的eclipse隨心所欲?
2016-10-24
我的也一樣,編寫出來的和視頻中老師出來的不一樣,和放入順序一樣,也郁悶??!
2016-10-24
先進先出;值大小無次序;
你放入xuesheng.courses中的順序是按照輸入來的,所以循環(huán)輸出時按照輸入的順序輸出