student.courses.add(cr);報錯誤啊
package 選課;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
import cloo.Course;
public class SetTest {
public List<Course>coursesToSelect;//帶泛型的備選課程屬性
//構(gòu)造器 初始化屬性
public SetTest(){
coursesToSelect=new ArrayList<Course>();
}
public void ListTest(){
this.coursesToSelect=new ArrayList();//List類不能實例初始化,需要用到兄弟ArrayList
}
/*
?* 用于增加備選課程到coursesToSelect里
?*/
//創(chuàng)建一個課程對象 用ADD方法添加進去
public void testAdd(){
Course cr1=new Course("1","數(shù)據(jù)結(jié)構(gòu)");
coursesToSelect.add(cr1); //這個是往集合coursesToSelect里增加一個元素
Course temp=(Course)coursesToSelect.get(0);//如果想打印添加進去的信息我們需要把這個文字取出來而且對象在集合里會
//System.out.println("添加的課程為:"+temp.id+" ?"+temp.name); //變成OBJECT類型 需要類型轉(zhuǎn)換轉(zhuǎn)換為Course類型
//這里如果直接打印temp值的話只會出現(xiàn)數(shù)字碼,需要明確指定打印什么XXX.id
//第二種方法
Course cr2=new Course("2","C語言");//第二種添加方法
coursesToSelect.add(0, cr2);//這種方法可以選擇插入的位置 0就是插入第一位。把cr1頂下去
Course temp2=(Course)coursesToSelect.get(0);//取得第0個位置
//System.out.println("添加的課程為:"+temp2.id+" ?"+temp2.name);
//Course cr3=new Course("3","test");
//coursesToSelect.add(2,cr3);//這里不能跳過一個添加 只能新加1個比如前面有兩個 0和1 這里只能是2
/*coursesToSelect.add(cr1);//這個可以往List里加課程
Course temp0 = (Course) coursesToSelect.get(0);//list的取得方法加了個類型強轉(zhuǎn)
System.out.println("添加課程成功:"+temp.id+","+temp.name);*/
//第三種方法 用數(shù)組加入進去 下面是數(shù)組加入兩個新方法
Course[] course={new Course("3","離散數(shù)學(xué)"),new Course("4","匯編語言")};
coursesToSelect.addAll(Arrays.asList(course));//通過這個Arrays.asList工具類方法將數(shù)組轉(zhuǎn)換為List集合里
Course temp3=(Course)coursesToSelect.get(3);
Course temp4=(Course)coursesToSelect.get(4);//照樣取出來強轉(zhuǎn)
//System.out.println("添加的課程為:"+temp3.id+" ?"+temp3.name+temp4.id+" ?"+temp4.name );
//因為有兩個課程 需要取出兩次而且注意GET位置
//第四種增加方法?
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 );
}
//可以直接打印出備選課程
public void testForEach(){//這是foreach方法 用一個新的obj類型的變量比集合
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();
//這是一個學(xué)生對象
Student student=new Student("1","小明");
System.out.println("歡迎學(xué)生:"+student.id+student.name+"選課");
Scanner console =new Scanner(System.in);
//創(chuàng)建一個Scanner對象
for(int i =0;i<3;i++){
System.out.println("請輸入課程ID");
String shuID=console.next();
for(Course cr:st.coursesToSelect){
if(cr.id.equals(shuID)){
student.courses.add(cr);
}
}
}
}
}
老是報錯啊親們- -看來看去看不出哪里錯
2016-09-18
我改過來了,我student類里面加了get,set方法,你可以試試
2016-09-09
你導(dǎo)入的這個包import cloo.Course;是來干啥的?
2016-08-30
import java.util.Arrays;
2016-08-30
Arrays.asList(course2)調(diào)用的時候需要導(dǎo)包?
2016-08-30
可以把運行程序時的錯誤信息貼出來嗎?方便錯誤定位,謝謝~