class NineNineTableTest {
public static void main(String[] args){
/*
100以内的所有质数
*/
boolean isFlag = true;
for (int i =2;i <= 100;i++){
for (int j = 2;j < i ;j++){
if (i % j ==0){
isFlag = false;
}
}
if(isFlag == true){
System.out.println(i);
}
}
}
}
你默认是true,i初始值为2,j初始值为2,j<i不成立,无法赋值false,所以2也输出了
isFlag 需要在每次循环的时候重置为true
代码修改如下:
class NineNineTableTest {
public static void main(String[] args) {
/*
100以内的所有质数
*/
boolean isFlag = true;
for (int i = 2; i <= 100; i++) {
isFlag = true; //这里添加这一句
for (int j = 2; j < i; j++) {
if (i % j == 0) {
isFlag = false;
break; //这里直接结束内循环即可
}
}
if (isFlag == true) {
System.out.println(i);
}
}
}
}