它只是打印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
我刚刚开始。我不知道我在做什么。 –