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]);这句话克宁报数组越界错误,因为一个参数都没有,你却去取第一个参数
------其他解决方案-------------------- System.out.println("辅导费 ");
这句话是不存在的,这是我多谢上去的
------其他解决方案--------------------数组越界错误,可能你在控制台输入的值<2,但是你循环都是从2开始的,就可能报错
------其他解决方案--------------------我这是一运行就出错了,都还没有输入数字
------其他解决方案--------------------看下你N的值是多少,小于2的话 那就越界了
------其他解决方案--------------------