Java 异常条件:引发了不正确的异常

Java 异常条件:引发了不正确的异常,java,exception,Java,Exception,我对我的家庭作业有意见。我们的作业由一个网站在线评分,我一直收到以下关于我在下面显示的代码的错误 错误: Exception conditions. Incorrect exception thrown for null a.java.lang.NullPointerException 例外情况。为null a.java.lang.NullPointerException引发的异常不正确 公共静态int[]nearestK(int[]a,int-val,int-k){ int x=0; 如果(k

我对我的家庭作业有意见。我们的作业由一个网站在线评分,我一直收到以下关于我在下面显示的代码的错误

错误:

Exception conditions. Incorrect exception thrown for null a.java.lang.NullPointerException 例外情况。为null a.java.lang.NullPointerException引发的异常不正确
公共静态int[]nearestK(int[]a,int-val,int-k){
int x=0;
如果(ka.length)
{
int[]不正确=新int[0];
返回错误;
}
最终int值=val;
整数[]复制=新整数[a.length];
for(int i=0;i
按照此顺序,评估不会一直向右(短路操作员就是这样做的)。

这一行失败:

if (k < x || a.length == 0 || a == null)

因此,首先检查空值。

在尝试访问其
length
属性之前,您需要检查
a
是否为空值。我将这些属性进行了切换,现在出现了新的错误:Exception conditions。未为零长度数组引发必需的异常。
 if (k < x || a.length == 0 || a == null)
  if (k < x || a == null || a.length == 0)
if (k < x || a.length == 0 || a == null)
if (a == null || k < x || a.length == 0)