我写了一个程序来查找数字是否为素数。
该计划有两种方法:
从用户那里获取数字(存储在数组中)的输入
获取数组的每个元素并查找它是否为素数(此方法返回类型为boolean
)
现在我的2 nd 方法总是为所有值返回true。
public static boolean Isprime(int x){
boolean isprime = false;
for(int m=2;m<x/2;m++){
int temp = x%m;
if(temp == 0){
isprime = false;
}
else{
isprime = true;
}
}
return isprime;
}
编辑:
public static boolean Isprime(int x){
boolean isprime = false;
for(int m=2;m<=x/2;m++){
int temp = x%m;
if(temp == 0){
isprime = false;
break;
}
else{
isprime = true;
}
}
return isprime;
}
P.S - 它也适用于9。
答案 0 :(得分:1)
一旦你发现它不是一个主要且简洁的修改方法你可以遵循以省略一些代码并优化它,你需要打破for循环。
public static boolean Isprime(int x){
boolean isprime = true;
for(int m=2;m<=Math.sqrt(x);m++){
int temp = x%m;
if(temp == 0){
isprime = false;
break;
}
}
return isprime;
}