我已经编写了一个程序来查找数字是否为素数。Java的独立方法找到素数
该方案有2种方法:
采取从用户输入作为到数字(存储在数组)
采取该阵列的每个元素,并找到它是否是素数或没有(这个方法返回类型为
boolean
)
现在我的2 第二方法总是返回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也是如此。
等什么似乎是年轻人的麻烦? –
非常抱歉,我jst解决了这个问题.. 麻烦先前的是,为每5的整数倍数它返回true .. jst谅解休息;在If语句里面.. 在发布我的问题后,我总是会在这里发布我的问题,甚至从我自己:) 谢谢反正:) – user3291928
你试过假装成电脑吗?假设你通过'9',然后它检查是否'9%2 == 0',它不是,所以它将'isprime'设置为true。然后检查它是否为'9%3 == 0',所以它将'isprime'设置为false。然后它检查'9%4 == 0',它不是,所以它将'isprime'设置为true。然后它返回'isprime',这是真的。 – immibis