代码出错了,调试不通了啊,囧。提示:java.lang.NullPointerException,空指针异常!
代码如下:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class SetTest {
public static List<Course> listCourse ;
public SetTest(){
listCourse = new ArrayList<Course>();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
SetTest ST = new SetTest();
// ST.AddDatelist();
// ST.ShowList();
ST.AddStudentCourse();
// Student student = new Student();
/*
Student student = new Student();
SetTest STest = new SetTest();
student.name = "小北";
student.number = 942;
System.out.println("***欢迎"+student.name+"同学来到选课系统");
System.out.println("**可选择的书如下所示:");
STest.AddDatelist();
STest.ShowList(); //显示书单信息
// System.out.println("");
System.out.println("**你需要选择四门课,请输入课程号选择课程:");
Scanner inputnumber = new Scanner(System.in);
int number;
for(int i=0;i<4;++i){
number= inputnumber.nextInt();
// for(int j=0;j<listCourse.size();j++){
for(Course temp : listCourse){ //判断所选序号是不是在书单里面
if(number==temp.id){
student.SelectCourse.add(temp);
break;
}
}
}
System.out.println("**你选择的书单为:");
System.out.println(student.SelectCourse.size());
// Course stu = new Course(1,"");
for( Course stu : student.SelectCourse){
System.out.println(stu.id+":"+stu.name);
}
*/
}
/**
* 函数AddDateList的作用是往list数组Course中添加课程信息
*
*/
public void AddDatelist(){
Course cr = new Course(1,"语文");
listCourse.add(cr);
Course cr2 = new Course(2,"数学");
listCourse.add(0,cr2);
Course[] crs = {new Course(3,"英语"),new Course(4,"历史"),new Course(5,"政治")};
listCourse.addAll(Arrays.asList(crs));
}
/**
* 函数ShowList的作业是显示课程数组Course的信息
*/
public void ShowList(){
// for(Course temp : listCourse){ //可能的出错点
for(Object temp1 : listCourse){
Course temp = (Course)temp1;
System.out.println(temp.id+":"+temp.name);
}
}
/**
* AddStudentCourse是为学生类添加课程信息
*/
public void AddStudentCourse(){
Student student = new Student();
SetTest STest = new SetTest();
student.name = "小明";
student.number = 942;
System.out.println("***欢迎"+student.name+"同学来到选课系统");
System.out.println("**可选择的书如下所示:");
STest.AddDatelist();
STest.ShowList(); //显示书单信息
// System.out.println("");
System.out.println("**你需要选择四门课");
Scanner inputnumber = new Scanner(System.in);
int number;
for(int i=0;i<4;++i){
System.out.println("**请输入课程号:");
number= inputnumber.nextInt();
for(int j=0;j<listCourse.size();j++){ //###错误代价//就在这附近
for(Course temp : listCourse){ //判断所选序号是不是在书单里面
if(number==temp.id){
student.SelectCourse.add(temp);
break;
}
}
}
System.out.println("**你选择的书单为:");
System.out.println(student.SelectCourse.size());
// Course stu = new Course(1,"");
for( Course stu : student.SelectCourse){
System.out.println(stu.id+":"+stu.name);
}
}
}哎 今天这个bug是找不出来了,以后再说吧。。。。。