利用for循环实现:
注意:2以内均不为质数,2为质数(质数是只能被1和它本身整除的数)
public class java_17 {
public static void main(String[] args) {
// 判断质数 只能被1和本身整数
System.out.println(new java_17().primeNumber(958));
}
// 用for循环实现
public boolean primeNumber(int num){
boolean flag = false;
if (num < 2) { //2以内均不为质数
return false;
}
if (num == 2){
return true;//2是质数
}
// 只需要判断一半以内的数即可
for(int i=2;i< num/2;num--){
if(num%i==0){
return false;
}
}
return flag;
}
}
利用while循环实现:
public class java_17 {
public static void main(String[] args) {
// 判断质数 只能被1和本身整数
System.out.println(new java_17().primeNumber1(958));
}
// 用while循环实现
public boolean primeNumber1(int num){
boolean flag = false;
int i = num;
int max = num/2; //只需判断一半即可,因为一个数不能被一半以上的数整除
if (num < 2) { //2以内均不为质数
return false;
}
if (num == 2){
return true;//2是质数
}
while (i<=max){
if(num%i==0){
return false;
}
i++;
}
return flag;
}
}
注意:判断整除条件的时候只需判断一半即可,因为一个数不能被一半以上的数整除