我用JAVA定义了一个1W的数组可以使用,但是定义一个10W的数组提示Exceptioninthread"main"java.lang.ArrayIndexOutOfBoundsException:-2147479015atJavaapplication1.JavaApplication...
我用JAVA定义了一个1W的数组可以使用,但是定义一个10W的数组提示
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -2147479015
at Javaapplication1.JavaApplication1.main(JavaApplication1.java:14)
Java Result: 1
而我朋友也是这样的定义10W可以使用。谁知道怎么回事,有什么解决方案
package Javaapplication1;
public class JavaApplication1 {
public static void main(String[] args) {
int a[]=new int[10000];
int i,j;
for(i=0;i<10000;i++){
a[i]=1;
}
a[0]=0;
a[1]=0;
int t=0;
for(i=2;i<10000;i++)
for(j=i*i;j<10000;j+=i)
a[j]=0;
for(i=2;i<10000;i++){
if(a[i]==1){
System.out.printf("%3d ",i);
t++;
if(t%10==0)
System.out.printf("\n"); }
}
}
}
素数筛法 1W没问题 10W就出错了
展开