我写了一个关于素数的代码,会听到您的意见或任何有关如何改进代码的建议。我是Java的初学者。
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
boolean a;
System.out.println("Please enter a number: ");
int zahl = s.nextInt();
if(zahl <= 0) {
System.out.println("Please enter a positive number without zero.");
return;
}
a = true;
for (int i = 2; i < zahl; i++) {
if (zahl % i == 0) {
a = false;
}
}
if (a == true) {
System.out.println("Is Prim");
}
if (a==false){
System.out.println("Not a prim");
}
}
最佳答案
最简单的操作如下
代替
for (int i = 2; i < zahl; i++) {
if (zahl % i == 0) {
a = false;
}
}
更改for循环
for (int i = 2; i < Math.sqrt(zahl); i++)
如果没有平方根之前的数字除以zahl,则除平方根以外的任何数字都不会对其进行除法(它们将是较早除法的结果)。
另外,为了输出答案,您可以执行以下操作:
System.out.println(zahl + " is " + ((a) ? "prime"
: "not prime"));
那是使用三元运算符?: