Java for循环:[1]100以内所有质数

2025-10-05 09:40:27

1、打开eclipse

输入如下代码

public class 一到一百所有的质数 {

public static void main(String[] args) {

for (int i = 2; i <= 100; i++) {

boolean flag = true;

for (int j = 2; j < i; j++) {

if ( i % j == 0) {

flag = false;

break;

}

}

if(flag)

{System.out.print(" "+i);}

}

}

}

2、解题思路,假设所有的数都是质数,再一个个排除不是质数的数.

这里用

if ( i % j == 0) {

flag = false;

break;

}

i % j ==0

里面的j的值永远小于 i 因为要满足 j < i 这个条件

内for每次执行 j 都会被重新赋值 

所以每次里面的for 每次循环都会用j 从2开始 被i 除 如果不能整除 说明则为 质数

因为 j是从2开始 且小于i 这就满足 质数的条件 质数只能被1和它本身整除

这里写就是说 除去1和它本身 如果还能被别的数整除 那么就不是质数

这里把flag给赋值为false 

3、在外面的for 循环内 写上

if(flag)

{System.out.print(" "+i);}

为什么要这样写 因为上面说了 如果i % j ==0 也就是i除以j能够整除 则不是质数

flag被赋值为false

反过来 只要flag不等于false 就都是质数

所以这里判断flag是不是true 如果是则输出  i  i就是质数

由于是写在外for循环里面

所以每次都会被执行 所以会输出所有的质数

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢