【发布时间】:2020-10-26 01:57:51
【问题描述】:
所以我正在编写一个 Java 编程,我有 2 个类和一个使用这 2 个类的类测试。运行 eclipseIDE,它一直告诉我我在 "s+=c.getName() + " " +... " 有一个 NullPointerException
这是 Student 中的一个方法。
public String getCourses()
{
String s = "";
for(Course c: this.courses)
{
s+=c.getName() + " " + c.getID() + " " + c.getScore(this.id);
s+="\n";
}
return s;
}
它调用 Course 类中的这个方法。
public String getID()
{
return this.id;
}
我尝试只做 getName();它没有问题,但是一旦我添加了 getID() 它就成了一个问题。 getName 是同一类型的代码,它以字符串的形式返回对象的“名称”。
name 和 id 通过构造函数“初始化”
Stacktrace:
Exception in thread "main" java.lang.NullPointerException
at hw6.Student.getCourses(Student.java:47)
at hw6.CourseStudent_test.main(CourseStudent_test.java:100)
这是 getScore 方法
public double getScore(String id)
{
int i = 0;
for(; i < this.students.length;i++)
{
if(this.students[i].getID() == id )
{
break;
}
}
return this.scores[i];
}
【问题讨论】:
-
请发布您的堆栈跟踪
-
添加了@ScaryWombat
-
请附上您的整个课程内容
-
@Derek.W 有没有办法以某种方式发布它们?两个类都有超过 100 行
-
c.getScore(this.id);看起来很狡猾。请发布此代码。同时确认this.id的值
标签: java