Предполагается, что он печатает простые числа ниже 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
Я только начинаю. Я понятия не имею, что я делаю. –