使用for循环找质数

/**
 * 找出【1~100】所有的质数/素数,也就是只能被1和自身整除的数 ,1既不是质数也不是合数
 * 要求每输出8个质数换一行
 *
 * 思路:1、首先需要循环遍历到【1~100】中所有的数
 *      2、每次循环到一个数都需要去判断该数是否是质数
 *      3、是质数就输出,对输出的数进行计数,
 *      4、判断质数的个数能否被8整除,能整除就换行
 *
 *  需要重点掌握的知识点:
 *      1、for循环的使用及嵌套
 *      2、打标记的时机
 *      3、统计的思想
 */
class 查找质数{
    public static void main(String[] args) {

        int jiShuQi = 0;//在循环开始前,定义一个计数器变量 ,为了统计输出个数
        for (int i = 2; i <= 100 ; i++) {//因为1既不是质数也不是合数,所以从2开始循环
            //打标记
            boolean zhiShu = true;//每次判断一个数是不是质数前,先认为这个是是质数,在判断过程中如果不是质数,则改变默认值
            for (int j = 2; j < i ; j++) {
                if ((i % j) == 0){
                    zhiShu = false;
                    break;//如果有一个被整除,说明i就不是质数了,就可以结束循环,不加break程序效率低
                }
            }
            //上面判断是不是质数的循环中没有改变默认值,则说明是质数,是质数就输出
            if (zhiShu){
                System.out.print(i + " ");
                jiShuQi ++;//每输出一个质数,计数器就加1  统计思想
                if (jiShuQi % 8 == 0){//当计数器是8的倍数就换行
                    System.out.println();
                }
            }
        }
        System.out.print("\n");//该行代码就是换行的意思,与System.out.println()是一个意思
        System.out.println("共计" + jiShuQi + "质数");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值