java求质数的问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 19:33:41
public class Zhishu {

public static void main(String[] args) {

for(int i=2;i<100;i++){
int k;
for(k=2;k<i;k++){//k小于i,并且大于2
if(i%k==0){
break;//如果i能被除1和本身的数整除,跳出循环。
}
}
if(i==k)
System.out.println(i);//输出质数

}
}
}

为什么后面要加if(i==k)才能输出质数、??不是很明白。

if(i%k==0){
break;//如果i能被除1和本身的数整除,跳出循环。
}
i等于k时循环才跳出来

为什么后面要加if(i==k)才能输出质数
=======
若第一个for中i已经到100了,还没找到质数(假使),那样循环也会退出,这样输出的数k就不一定是质数了

你可以把中间代码精简下,如果去掉限制输出语句的if(i==k)的话,那么就没有限制输出语句的了,程序就可以简化成

for (int i = 2; i < 100; i++) {
System.out.println(i);// 输出质数

}

就是一个循环,然后输出i的值了