public static void main(String[] args) {
int i,j;
/**
* 设置一个标识符 判断是不是素数 默认是素数
* 这种设置标识符在这种数字判断用的比较多,务必记得
*/
/**
* 为什么flag不在这里直接赋值1?
* 因为当i = 2和3时,找不到能整除的数
* 那么flag还是1,做判断的时候是素数
* 当i= 4时,能找到2能整除,注意!!!!这时候,改变了flag的值flag = 0
* 那再进行i = 5的判断时,flag这时候已经是0了,
* 无论里面判断是不是素数,flag的值都为0,那么在内层循环结束时
* 判断出来的结果5不是素数,所以正确操作应当是外层循环一开始,就设置flag=1(假设当前的数时素数)
* 那么每次就能够进行判断
* */
int flag;
for ( i = 2; i <= 100; i++)
{
/**
* 每次都假设当前的数(i)是素数
*/
flag = 1;
for (j = 2; j < i; j++) {
/**
* 如果找到了能整除的数,那就是不是素数
* 那就不用找j了 直接进行下一个数字的判断
*/
if (i%j == 0){
flag = 0;
break;
}
}
if (flag == 1) {
System.out.print(i+",");
}
}
}