对于 46348 的 int 输入值之后给出的以下代码,我得到了ArrayIndexOutOfBoundsException
。我在for循环中获得了保持数组限制的条件。但不知何故,我得到了这个例外,我无法弄清楚。我的要求是找到给定数字以下的所有素数。
Scanner sc = new Scanner(System.in);
int n= sc.nextInt();
int[] arr= new int[n+1];
for(int i=2;i<=n;i++)
{
if(arr[i]==0)
{
for(j=i;j*i<=n;j++)
arr[j*i]=1; // Here i am getting Exception
}
}
输入:
46349
输出:
java.lang.ArrayIndexOutOfBoundsException:-2146737495
502802
谢谢。,