- public class SuShu{
- public static void main(String[] args){
- prinSuShu(100);
- }
- public static void prinSuShu(int x) {
- boolean flag=true; //此处定义一个boolean类型的变量并赋值为true,是为了下面判断是否为素数而打基础的。
- //如果是素数flag=true,如果不是flag=false;
- for(int i=2;i<=x;i++){ //因为此题是输出x以内的所有素数,所以要从2开始一直判断到x为止,此处的i就是要判断的数。
- flag=true; //为什么flag=true,而不是flag=false呢?
- //因为先假如它是素数。
- for(int j=2;j<=x;j++){ //这个for循环是判断这个数是不是素数的。
- if(i%j==0){ //如果i能整出j,就说明他不是素数
- flag=false; //既然不是素数了,那么也不必flag=true,所以flag=false
- break; //然后跳出这个for(int j=2;j<=x;j++)循环。重新到for(int i=2;i<=x;i++)再判断下一个数。
- }
- }
- if(flag){ //你的迷惑在这,上面说了是素数flag=true,不是flag=false。既然是素数是不是要把它输出啊。
- System.out.print(i);
- }
- }
-
- }
-
- }
- <p> </p>
复制代码 |