如何解决空指针异常

如何解决空指针异常

public class Suiji {

public static int[] generateRandomArray(int length,int left,int right) {

int[] arr = null;

for(int i=0;i<length;i++) {

arr[i]=(int)(Math.random()*(right-left)+left);

}

return arr;

}


public static void main(String[] args) {

generateRandomArray(5,3,9);

}


}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
一叶知秋519 2018-01-16 10:31:44

generateRandomArray方法中,完成数组的初始化:int[] arr = new int[length+1]; 这样就可以避免空指针了;空指针异常是因为操作了一个空对象,所以编译器就会报空指针异常。祝学习愉快~

  • 提问者 mly魉 #1
    为什么要length+1呢
    2018-01-16 14:42:12
  • 创建数组的长度可以是固定长度,例如int[] arr = new int[10];也可以是动态长度,根据传入的参数确定要创建的数组长度,就是上述的这种写法,可以是int[] arr = new int[length+1];也可以是int[] arr = new int[length];,又因为for循环的判断条件是i<length,所以这个地方可以是int[] arr = new int[length],如果是i<=length,就需要是int[] arr = new int[length+1]。祝学习愉快~
    2018-01-16 15:01:34
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师