Java NullPointerException的解释
首先,我对Stackoverflow进行了研究,找到了关于Java NullPointerException的解释,java,arrays,nullpointerexception,double,java.util.scanner,Java,Arrays,Nullpointerexception,Double,Java.util.scanner,首先,我对Stackoverflow进行了研究,找到了关于NullPointerException是什么的答案。但是,我不明白为什么我有一个NullPointerException 这段代码创建了一个简单的成绩跟踪程序。以下是数据字段: private String name; private double[] testScores; //relevant to question private int x = 0; private String answer; private double
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
因此,当一个Student
对象调用此方法时,出现了我得到的异常。在我注释掉方法定义中带有数组的行之后,异常
停止出现。我用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"));
}
您刚刚声明了数组,但从未按此处所述初始化它:
private double[] testScores; //relevant to question
您需要在访问其元素之前对其进行初始化。比如:
testScores = new double[SIZE_YOU_DESIRE];
您刚刚声明了数组,但从未按此处所述初始化它:
private double[] testScores; //relevant to question
您需要在访问其元素之前对其进行初始化。比如:
testScores = new double[SIZE_YOU_DESIRE];
您刚刚声明了数组,但从未按此处所述初始化它:
private double[] testScores; //relevant to question
您需要在访问其元素之前对其进行初始化。比如:
testScores = new double[SIZE_YOU_DESIRE];
您刚刚声明了数组,但从未按此处所述初始化它:
private double[] testScores; //relevant to question
您需要在访问其元素之前对其进行初始化。比如:
testScores = new double[SIZE_YOU_DESIRE];
在这方面,arraylist优于arraycase@SotiriosDelimanolis什么鬼东西?我已经告诉过你我做了研究,但我发现毫无疑问,这与数组和数据字段有关。帮我一个忙,去掉重复标记,这样我就能得到一些答案。@fastsnail什么是arraylist?我是一名高中生,对java还不熟悉。我从来没有听说过arraylist。如果您阅读了副本,就会发现出现NullPointerException
的原因只有一个,即取消对null
值的引用。因此,在您的场景中,某些内容必须是null
。这是testScores
。在这种情况下,链接的重复问题/答案是规范的问题/答案。其他人调试一个人的问题很少有用。了解导致NPE的原因以及如何处理NPE更有用。给一个人一条鱼,他可以吃一天。教一个人钓鱼,他会吃一辈子。将一个问题标记为重复问题不会使问题变得糟糕。在这方面arraylist比array好case@SotiriosDelimanolis什么鬼东西?我已经告诉过你我做了研究,但我发现毫无疑问,这与数组和数据字段有关。帮我一个忙,去掉重复标记,这样我就能得到一些答案。@fastsnail什么是arraylist?我是一名高中生,对java还不熟悉。我从来没有听说过arraylist。如果您阅读了副本,就会发现出现NullPointerException
的原因只有一个,即取消对null
值的引用。因此,在您的场景中,某些内容必须是null
。这是testScores
。在这种情况下,链接的重复问题/答案是规范的问题/答案。其他人调试一个人的问题很少有用。了解导致NPE的原因以及如何处理NPE更有用。给一个人一条鱼,他可以吃一天。教一个人钓鱼,他会吃一辈子。将一个问题标记为重复问题不会使问题变得糟糕。在这方面arraylist比array好case@SotiriosDelimanolis什么鬼东西?我已经告诉过你我做了研究,但我发现毫无疑问,这与数组和数据字段有关。帮我一个忙,去掉重复标记,这样我就能得到一些答案。@fastsnail什么是arraylist?我是一名高中生,对java还不熟悉。我从来没有听说过arraylist。如果您阅读了副本,就会发现出现NullPointerException
的原因只有一个,即取消对null
值的引用。因此,在您的场景中,某些内容必须是null
。这是testScores
。在这种情况下,链接的重复问题/答案是规范的问题/答案。其他人调试一个人的问题很少有用。了解导致NPE的原因以及如何处理NPE更有用。给一个人一条鱼,他可以吃一天。教一个人钓鱼,他会吃一辈子。将一个问题标记为重复问题不会使问题变得糟糕。在这方面arraylist比array好case@SotiriosDelimanolis什么鬼东西?我已经告诉过你我做了研究,但我发现毫无疑问,这与数组和数据字段有关。帮我一个忙,去掉重复标记,这样我就能得到一些答案。@fastsnail什么是arraylist?我是一名高中生,对java还不熟悉。我从来没有听说过arraylist。如果您阅读了副本,就会发现出现NullPointerException
的原因只有一个,即取消对null
值的引用。因此,在您的场景中,某些内容必须是null
。这是testScores
。在这种情况下,链接的重复问题/答案是规范的问题/答案。其他人调试一个人的问题很少有用。了解导致NPE的原因以及如何处理NPE更有用。给一个人一条鱼,他可以吃一天。教一个人钓鱼,他会吃上一辈子。把一个问题标为重复问题并不会让问题变得糟糕。