既然i是从1开始的一直循环到100,那么第7行的if判断就是完全多余的,直接从2开始循环不就好了
你是要打印1~100内的质数,那么内部循环满足i%c==0 说明当前数字i存在一个小于其本身的约数,说明它根本不是质数,那就不要打印它,这里的逻辑反了
public class Demo {
public static void main(String[] args) {
for (int i = 2; i < 100; i++) {
boolean flag = false; // 标记位,用于记录对当前数字i的素性检查结果,当且仅当所有从[2,i)的数都不是i的约数时,其值为true
for (int j = 2; j < i; j++) {
if (i % j == 0) {
break;
} else {
flag = true;
}
}
if(flag){
System.out.println(i);
}
}
}
}
这个输出有1吗?最好贴个图出来…太影响阅读了,根据逻辑初始值为1,所以里面判断不等于1就不会走,直接打印1…自己去debug吧,看到脑壳疼