有人知道为什么theere始终是我的代码中“线程“主” java.lang.NullPointerException中的异常”的错误吗?
public class a16 {
public static void main(String[] args) {
int[] a = {4, 2, 3};
int[] b = {1, 5, 3, 5};
if (sub(mult(a, b), b) == null) {
System.out.println("f");
} else {
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
}
public static int[] mult(int[] a, int[] b) {
if (a.length == b.length) {
for (int i = 0; i < a.length; i++) {
a[i] = a[i] * b[i];
}
return a;
} else {
return null;
}
}
public static int[] sub(int[] a, int[] b) {
if (a.length == b.length) {
for (int i = 0; i < a.length; i++) {
a[i] = a[i] - b[i];
}
return a;
} else {
return null;
}
}
}
我是Java的新手,这是我大学课程的一部分, 谢谢您的提前答复!答案 0 :(得分:0)
由于a
和b
的长度不同,因此您的mult(a, b)
将得出null
。因此,基本上,您正在调用sub
方法,例如-> sub(null, b)
->,这意味着当您尝试在a.length
方法内的第一步中执行sub
时,它将抛出NullPointerException