为什么编译出错啊?这是什么错误啊?

来源:4-4 学生选课---添加课程 Ⅰ

辜谷谷

2017-02-26 18:04

package gg;


public class Course {

public String id;

public String name;

public Course(String id,String name)

{

this.id=id;

this.name=name;

}


}

package gg;


import java.util.HashSet;

import java.util.Set;


public class Student {

public String id;

public String name;

public Set courses;

public void Student(String id,String name)

{

this.id=id;

this.name=name;

this.courses=new HashSet();

}


}


package gg;


import java.util.ArrayList;

import java.util.List;


public class ListTest {

public List coursestoselect;

public void Listest()

{

this.coursestoselect=new ArrayList();

}

public void testAdd()

{

Course c1=new Course("1", "数学");

coursestoselect.add(c1);

Course temp=(Course)coursestoselect.get(0);

System.out.println("添加课程:"+temp.id+","+temp.name);

}

public static void main(String[] args) {

ListTest lt=new ListTest();

lt.testAdd();

}


}

为什么编译出错啊?

Exception in thread "main" java.lang.NullPointerException

at gg.ListTest.testAdd(ListTest.java:16)

at gg.ListTest.main(ListTest.java:24)

这是什么错误啊?

写回答 关注

4回答

  • 凉夏TIME
    2017-02-26 22:31:40
    已采纳

    原因是你没有实例化List对象coursestoselect!!!你把实例化放入方法ListTest()里面,而在main方法中你没有调用它(ListTest()方法)

    辜谷谷

    谢了,

    2017-02-28 14:36:37

    共 1 条回复 >

  • Mr_杰_2016
    2017-02-27 17:24:57

    public void Listest(){

    this.coursestoselect=new ArrayList();

    }

    这句错了,应改为:

    public ListTest(){

    this.coursestoselect=new ArrayList():

    }

    Hiro丶a...

    正解,构造类不需要 void

    2017-03-15 13:49:21

    共 1 条回复 >

  • _Raphael_
    2017-02-26 22:49:42

    public class ListTest {

    public List coursestoselect;这句错了,由于是不同类型的所以要进行强制转换

    改变后public List<Course>coursesToSelect;

    在下面的也是如此this.coursestoselect=new ArrayList();改变后this.coursestoselect=new ArrayList<Course>();


    Hiro丶a...

    你就是在扯淡...这句没问题!

    2017-03-15 13:48:29

    共 1 条回复 >

  • 凉夏TIME
    2017-02-26 22:33:53

    你的public ListTest()构造函数多了个void,将void去掉就可以了

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题