JAVA课程05

package 质数的输出;

import java.util.*;

public class 质数的输出 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数n:");
        int n = sc.nextInt();
        boolean[] b = new boolean[n+1];//初始化一个数组(boolean类型)
        
        for(int i = 0;i < b.length;i++){//初始化,所有值都为true
            b[i]=true;
        }
        for(int j = 2;j < b.length;j++){//进行b.length轮筛选
            if(b[j]){//j为true,也就是b[j]为质数
                //把j的倍数设为false(因为一个数如果是质数,那它的倍数一定不是质数)
                for(int k = j*2;k < b.length;k+=j){
                    b[k]=false;
                }
            }else{//否则,重新循环
                continue;
            }
        }
        //遍历数组
        for(int z = 2;z < b.length;z++){
            if(b[z]){//如果b[z]为true,则输出质数z
                System.out.print(z + "\t");
//                System.out.print(b[z] + "\t");//测试,打印此元素是否是质数
            }
        }
        
    }
}

 

posted @ 2019-03-09 20:42  JAYPARK01  阅读(218)  评论(0编辑  收藏  举报