package Test; public class Test7 { public static void main(String[] args) { for (int i = 2; i <= 100; i++)//遍历1~100 { boolean flag = false; for (int j = 2; j < i; j++) { if (i % j == 0)//求1~100之间的的非质数 { flag = true; break; } } if (flag == false) { System.out.println(i + "是质数"); } } } }
为什么要加boolean:
因为i是最终打印的质数值,如果不加boolean,最终虽然通过内层循环可以找到非质数的值,但却无法将其抛弃,通过使用boolean判断flag的值是否被更改,如果未被更改,成功输出质数值;
为什么i要从2开始:
质数是对大于1的自然数进行判断,因此直接跳过i=1的情况;
为什么j要从2开始:
如果j=1,那么构成质数的两个约束条件其一就自动失效,因为任何正整数都可以被1整除;