46348 の int 入力値の後の以下のコードについては、取得してArrayIndexOutOfBoundsException
います。配列の制限を維持するforループでCondition が与えられます。しかし、どういうわけか私はこの例外を受け取っており、それを理解することができません。そして、私の要件は、指定された数より下のすべての素数を見つけることです。
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
ありがとう。、