ターゲット-すべての primeNumbers を見つけて、それを使用して配列を作成します 。
private static boolean primeReturner (int i){
for (int j=2;j<i; j++){
if (i%j==0)
return false;
}
return true;
}
素数で数を作成するメソッドを作成
private static void simpleArray() {
int []a = new int [100];
a[0]=1;
a[1]=2;
for (int i=2; i<a.length; i++){
if (primeReturner(i)==true){
a[i]=i;
i++;
}
}
}
問題 - 配列の作成中にいくつかのエラーが発生しました - 配列 0 からのアイテムの一部と、問題のないアイテムがいくつかあります...そして、エラーが返される場合もあります...
Questing - 私のメソッド simpleArray の何が問題なのですか?
コードを少し変更します-すべての素数を認識して配列を作成しますが、配列に100番目の項目を追加するとエラーが発生します
コード
private static void simpleArray() {
int []a = new int [100];
a[0]=1;
a[1]=2;
int count=2;
while (count<100)
for (int i=3; ; ++i){
if (primeReturner(i)==true){
a[count]=i;
count++;
}
}
for (int j=0; j<a.length; j++){
System.out.print(" " + a[j]);
}
}
private static boolean primeReturner (int i){
for (int j=2;j<i; j++){
if (i%j==0)
return false;
}
return true;
}
および main 関数 public class Exercise_1 { private static int select;
public static void main (String[]args) throws IOException{
System.out.println("Menu:");
....
System.out.println("Array with simple numbers - enter 7");
select = getNumber ();
switch (select){
.....
case 7:{
simpleArray();
}
}
}
その結果、素数が成功したすべての配列が作成されまし たが、この配列の印刷中にjava.lang.ArrayIndexOutOfBoundsException エラーが発生しました...
このエラーを解決するにはどうすればよいですか?