ユーザー入力から配列のサイズを受け取り、その量の整数を受け入れて、それらの間のすべての素数を表示するプログラムを作成しようとしています。たとえば、ユーザーが配列のサイズを 5 にするように入力した場合、ユーザーは 5 つの整数を入力できるようにする必要があります。しかし、私は立ち往生しており、エラーが発生しています。
import java.util.Scanner;
public class arrayprime {
public static void main (String[] Args)
{
boolean isprime = true;
int i=0;
int[] Array = new int[i];
Scanner keyboard = new Scanner (System.in);
System.out.println("Please enter how large you want the array to be: ");
i = keyboard.nextInt();
for (int j=0; j<i; j++)
{
System.out.println("Please enter an integer: ");
Array[j] = keyboard.nextInt();
}
int k = 2;
while (k <= Math.sqrt(Array[i]))
{
if (Array[i] % k == 0)
{
isprime = false;
break;
}
k++;
}
if (isprime==true)
{
System.out.println(Array[i] + "is prime.");
}
}
}
私が得ているエラーは次のとおりです。
"Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at arrayprime.main(arrayprime.java:18)"