操作方法
打开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);} } } }
解题思路,假设所有的数都是质数,再一个个排除不是质数的数. 这里用 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
在外面的for 循环内 写上 if(flag) {System.out.print(" "+i);} 为什么要这样写 因为上面说了 如果i % j ==0 也就是i除以j能够整除 则不是质数 flag被赋值为false 反过来 只要flag不等于false 就都是质数 所以这里判断flag是不是true 如果是则输出 i i就是质数 由于是写在外for循环里面 所以每次都会被执行 所以会输出所有的质数