Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/150.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 为什么这里会出现空指针异常?_Java - Fatal编程技术网

Java 为什么这里会出现空指针异常?

Java 为什么这里会出现空指针异常?,java,Java,我正在使用java。此代码的第二行是获取空指针异常 double gpa = 0.0; gpa = grads[index].calculateGPA(); return gpa; 渐变是渐变对象的数组。我已经在JUnitTest中测试了这个方法,效果很好。我还测试了calculateGPA()。只有在运行程序时才会出现错误。该错误可能是由以下可能性之一引起的: grads为null 索引为null grads[index]为null calculateGPA()正在引发空指针异常 使用调试器

我正在使用java。此代码的第二行是获取空指针异常

double gpa = 0.0;
gpa = grads[index].calculateGPA();
return gpa;

渐变是渐变对象的数组。我已经在JUnitTest中测试了这个方法,效果很好。我还测试了calculateGPA()。只有在运行程序时才会出现错误。

该错误可能是由以下可能性之一引起的:

  • grads
    null
  • 索引
    null
  • grads[index]
    null
  • calculateGPA()
    正在引发空指针异常

  • 使用调试器找出这些可能性中的哪一种,并从中吸取教训。

    错误可能由以下可能性之一引起:

  • grads
    null
  • 索引
    null
  • grads[index]
    null
  • calculateGPA()
    正在引发空指针异常

  • 使用调试器找出这些可能性中的哪一种,并从中获取。

    梯度
    数组作为一个整体是
    空的
    (未初始化)。或
    索引
    是一个
    整数
    且为空。好的,我们现在最多有4个候选项。4号有进展吗?!;-)或者
    grads
    数组作为一个整体是
    null
    (未初始化)。或者
    index
    是一个
    整数,并且是null。好的,我们现在最多有4个候选者。4号有进展吗?!;-)
    grads
    数组是如何初始化的?当你得到异常或只是在调试器中运行它时,你是否检查了
    index
    grads[index]
    的值?如果你得到这样的异常,你的第一步应该是添加
    System.out.println(“grads is null:+(grads==null)+”grads[index]为空:“+(梯度[索引]==null))在引发异常的前一行。@Alderath谢谢。我使用了你的建议,发现索引是问题所在,
    grads
    数组是如何初始化的?当你得到异常或只是尝试在调试器中运行它时,你是否检查了
    index
    grads[index]
    的值?如果你得到这样的异常,你的第一步应该是添加
    System.out.println(“grads is null:”+(grads==null)+“grads[index]is null:”+(grads[index]==null));
    在引发异常的前一行。@Alderath谢谢你。我使用了你的建议,发现索引是问题所在