java,以下这段程序报错,请高手指点。
publicclassFeiBoNa{publicstaticvoidmain(String[]args){int[]number=null;number[0]=0;nu...
public class FeiBoNa {
public static void main(String[] args) {
int[] number = null;
number[0] = 0;
number[1] = 1;
number[2] = 1;
int m;
for(m=3;m<30001;m++){
number[m] = number[m-1]+number[m-2];
}
System.out.print(number[m]);
}
}
错误:Exception in thread "main" java.lang.NullPointerException
at FeiBoNa.main(FeiBoNa.java:6)
两个空格没有粘贴,就以上代码而言,错误为:at FeiBoNa.main(FeiBoNa.java:4)。number[0] = 0 当中,"number"带有黄色下划线警告,警告内容为:Null pointer access: The variable number can only be null at this location。 展开
public static void main(String[] args) {
int[] number = null;
number[0] = 0;
number[1] = 1;
number[2] = 1;
int m;
for(m=3;m<30001;m++){
number[m] = number[m-1]+number[m-2];
}
System.out.print(number[m]);
}
}
错误:Exception in thread "main" java.lang.NullPointerException
at FeiBoNa.main(FeiBoNa.java:6)
两个空格没有粘贴,就以上代码而言,错误为:at FeiBoNa.main(FeiBoNa.java:4)。number[0] = 0 当中,"number"带有黄色下划线警告,警告内容为:Null pointer access: The variable number can only be null at this location。 展开
3个回答
展开全部
package com.baidu;
public class FeiBoNa {
public static void main(String[] args) {
int[] number = new int[30002]; //你给的是null肯定会报空指针
number[0] = 0;
number[1] = 1;
number[2] = 1;
int m;
for (m = 3; m < 30001; m++) {
number[m] = number[m - 1] + number[m - 2]; //这个地方,你把num数组的下标取到30000去了,所以他的长度必须得是30001
}
System.out.print(number[m]);//这个地方你打印的是number[30001]所以长度必须是30002
}
}
public class FeiBoNa {
public static void main(String[] args) {
int[] number = new int[30002]; //你给的是null肯定会报空指针
number[0] = 0;
number[1] = 1;
number[2] = 1;
int m;
for (m = 3; m < 30001; m++) {
number[m] = number[m - 1] + number[m - 2]; //这个地方,你把num数组的下标取到30000去了,所以他的长度必须得是30001
}
System.out.print(number[m]);//这个地方你打印的是number[30001]所以长度必须是30002
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int[] number = null;
这句不对,数组必须初始化才行,比如 int[] number = new int[3];
这句不对,数组必须初始化才行,比如 int[] number = new int[3];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数组的声明有问题
int[] number = new int[30002];
int[] number = new int[30002];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询