0
の範囲内のすべての素数を表示する配列を返したいと思います。素数Javaの配列
0
から5
の範囲の場合、配列は[2,3,5]
で返されます。仕事の中で私は教授から、後で0
を素数に置き換える前に、配列全体を0
で埋めるべきだと言われました。
現在、配列の次の位置にアクセスしていないようですが、配列の最初の位置に常に値を割り当てるように見えるため、私のコードは正しい配列を返しません。 現在の結果配列は[2,3,5]
ではなく、[5,0,0,0,0]
です。 ご協力いただければ幸いです。
public static int[] generierePrimzahlen(int bis){
int [] myAry = new int[bis];
Arrays.fill(myAry,0);
for(int i=0;i<myAry.length;i++){
for (int nextprime=1; nextprime < bis; nextprime++){
int counter = 0;
// System.out.println(nextprime);
if (istPrimzahl(nextprime)){
myAry[counter] = nextprime;
counter++;
}
}
System.out.print(myAry[i]+" ");
}
return myAry;
}
PS: Iは、特定の数が素数であるかどうかチェックする機能法(istPrimzahl)を有します。
2つのループを使用することは全く必要ありません。 – user3437460
あなたの先生がEratosthenesのSieveアルゴリズムを実装したかったと思うのですが、多分私は間違っています。 –