读书人

java运行出错,该怎么解决

发布时间: 2013-01-26 13:47:03 作者: rapoo

java运行出错
public class Primes {

public static void main(String[] args) {
int N = Integer.parseInt(args[0]);
boolean [] a = new boolean[N];
for(int i = 2; i < N ; i++){
a[i] = true;
}
for(int i = 2; i < N ; i++){
if(a[i] != false){
for(int j = i; j * i < N; j++){
a[i * j] = false;
}
}
}
for(int i = 2; i < N ; i++){
if(i > N - 100){
if(a [i]){
System.out.println(" " + i);
}
}

}
System.out.println("辅导费 ");
}


}
这是错误信息:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at a.Primes.main(Primes.java:6)

[解决办法]

引用:
引用:
数组越界错误,可能你在控制台输入的值<2,但是你循环都是从2开始的,就可能报错我这是一运行就出错了,都还没有输入数字

照你这个程序的写法,是在运行时带参数运行的,并不是运行之后才输入数值,所以,你如果一开始运行程序的时候没带参数运行,那int N = Integer.parseInt(args[0]);这句话克宁报数组越界错误,因为一个参数都没有,你却去取第一个参数

读书人网 >Java相关

热点推荐