これはちょうど100以下の素数を印刷することになっていますが、出力として数字「3」が得られます。私はちょうどJavaを学ぶようになっていますので、すべて私に見えます。私の単純なJavaプログラムで何が問題になっていますか?
public class ClassesAndObjects {
public static void main(String[] args) {
Prime n = new Prime();
for (int i = 3; i < 100; i++){
n.Number = i;
n.factors();
}
}
}
class Prime{
long Number;
long fact;
boolean state = true;
void factors(){
for (fact = 2; fact < Number; fact++){
if (fact != Number){
if (Number % fact == 0){
state = false;
break;
}
}
}
if (state == true){
System.out.println(Number);
}
}
}
これは、常にJavaの最悪の素数実装である必要があります。 – Eiko
私はちょうど始まっています。私はまだ何をしているのか分かりません。 –