Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java NullPointerException的解释_Java_Arrays_Nullpointerexception_Double_Java.util.scanner - Fatal编程技术网

Java NullPointerException的解释

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

首先,我对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
因此,当一个
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更有用。给一个人一条鱼,他可以吃一天。教一个人钓鱼,他会吃上一辈子。把一个问题标为重复问题并不会让问题变得糟糕。