首先,我在Stackoverflow上研究了我的问题,并找到了关于NullPointerException
是什么的答案。但是,我不明白为什么我有NullPointerException
。
此代码创建一个简单的成绩跟踪计划。以下是数据字段:
private String name;
private double[] testScores; //relevant to question
private int x = 0;
private String answer;
private double testAverage;
private double tScore;//Relevant to question
因此,当Exception
对象调用此方法时,我发生了Student
。在方法定义中使用数组注释掉该行后,Exception
停止显示。我用double tScore
替换了数组,程序开始正常工作。我不明白为什么使用数组给了我NullPointerException
。请帮助我,我对此问题感到困惑。我试图搞清楚,但不明白为什么会这样。谢谢你的帮助。
public void inputGrades()
{
Scanner gradeRead = new Scanner(System.in);
System.out.println("Please Enter Student Grades.");
do
{
//testScores[x] = gradeRead.nextDouble(); ---Problem Line---
tScore = (gradeRead.nextDouble());
System.out.println("Are There Any More Grades? Enter y or n");
answer = gradeRead.next();
x++;
}
while(answer.equalsIgnoreCase("Y"));
}
答案 0 :(得分:3)
您刚刚声明了数组,并且从未如此处所述初始化它:
private double[] testScores; //relevant to question
您需要在访问其元素之前对其进行初始化。类似的东西:
testScores = new double[SIZE_YOU_DESIRE];