我已经做了一段时间的家庭作业,并且无法弄清楚如何修复我得到的这个空指针错误。我认为这是我的代码中的int [] a的问题,并且在调用a.length之前它没有被初始化:
class target{
int arraySearch(int a[], int target){
for(int index = 0; index < a.length; index++){
if(a[index] == target)
return index;
}
return -1;
}
public void main(String[] args) {
target t = new target();
int test1[] = {15,20,5,11};
int test2[] = {15,20,7,11};
System.out.println("Testing arraySearch with target = 5 and array of 15,20,5,11: " + t.arraySearch(test1,5));
System.out.println("Testing arraySearch with target = 5 and array of 15,20,7,11: " + t.arraySearch(test2,5));
}
}
如果你们可以请帮助我并解释哪些是错的,我将不胜感激。我在作业的其他部分出现此错误,并希望自己修复它们。所有建议表示赞赏。
答案 0 :(得分:0)
我没有得到任何空指针。刚刚将签名更改为公共静态 void main ... 对我来说运行正常: 使用target = 5和15,20,5,11:2的数组测试arraySearch 测试arraySearch,目标= 5,数组为15,20,7,11:-1