在寻求一些素数的程序中,发现如果使用例一的代码,打印的结果并不完全正确。2 、3不能被打印。
例一:
public static boolean isPrime(int num){
boolean isprime = false;
for(int i=2;i<=num/2;i++){ //当你定义isprime的初始值为false时,而且2、3并不满足循环
if(num%i==0) //条件 即i<=num/2,无法进入循环进行判断,则默认isprime为false
{ isprime= false;
break;}
else
isprime=true;
}
return isprime;
}
//而例二isprime初始值为false解决这个问题。打印出2 、3
例二: public static boolean isPrime(int num){
boolean isprime = true;
for(int i=2;i<=num/2;i++) {
if(num%i==0) {
isprime= false;
break;}
}
return isprime;
}