刚学java想请问下 flag在里面的作用,为什么把k++放到输出i的前面则输出结果是整个数组

/*

  • 判断101-200之间有多少个素数,并输出所有素数。 * */ package xiaochengxu2; import java.util.Scanner; public class sushupanduan { public static void main(String[] args){ int k=0; boolean flag; for(int i=101;i<=200;i++) { flag=true; for(int j=2;j<i;j++) { if((i%j)==0) { flag=false; break; } } if(flag)
    System.out.println(i+"\n"); k++; } System.out.println("素数的个数是"+k); } }

最后那个if后面应该用花括号吧 System.out.println(i+"\n"); k++; 包起来,否则Java默认只会包System.out.println(i+"\n");这句,而k++;
会被认为单独的一句所以会一直循环。

int k = 0;
        boolean flag;
        for (int i = 101; i <= 200; i++) {
            flag = true;
            for (int j = 2; j < i; j++) {
                if ((i % j) == 0) {
                    flag = false;
                    break;
                }
            }
            if (flag){
                System.out.println(i + "\n");
                k++;
            }
        }
        System.out.println("素数的个数是" + k);

flag ,死亡flag听说过没有,说我一定会活着回来的,一般都死了,
而这个flag表示这个数是不是素数,是的话就输出K++,不是的话,就跳过输出