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