综合案例:编写for循环找到1~100中所有的素数,并且每8个换一行

本文通过一个综合案例,介绍如何使用Java编程找出1到100之间所有的素数。利用for循环遍历数字,通过判断每个数字是否为素数,并在每输出8个素数后换行展示。
package com.zhang.projectcases;
//编写1~1000里有多少个素数
public class PrimeNumber2{

    public static void main(String[] args) {
        //判断7是否为素数
       /* int i =7;   //定义一个质数的初始化变量
        boolean isSuShu = true; //默认将i看做一个素数
        for(int j=2;j<i;j++){     //定一个循环判断7是否为质数 j可以取 2 3 4 5 6
            if (i%j ==0){
                isSuShu =false; //非素数
                break;  //已经判断i为非素数时,跳出循环
            }
        }
        System.out.println(isSuShu?i+"是素数":i+"不是素数");  //如果isSuShu为true证明7是素数,否则7不是素数*/

        //判断1~100里面的有多少个素数
       //外部循环只负责取出每一个数字i
       /*  for (int i = 2; i <=100 ; i++) {
           //下面这些代码只是判断i是否为素数
            boolean isSuShu = true; //默认将i看做一个素数
            for(int j=2;j<i;j++){
                if (i%j ==0){
                    isSuShu =false; //非素数
                    break;  //已经判断i为非素数时,跳出循环
                }
            }
            if (isSuShu){           //如果为true的话,就相当于为素数
                System.out.println(i);
            }
        }*/

        System.out.println("=============第一种方式==============");
       //判断出1~100里的所有的素数
       //并且每8个换一行
       int count=0;  //加入统计元素,统计次数
        for (int i = 2; i <=100 ; i++) {
            //下面这些代码只是判断i是否为素数
            boolean isSuShu = true; //默认将i看做一个素数
            for (int j = 2; j < i; j++) {
                if (i % j == 0) {
                    isSuShu = false; //非素数
                    break;  //已经判断i为非素数时,跳出循环
                }
            }
            if (isSuShu) {           //如果为true的话,就相当于为素数
                count++;        //如果是质数就次数就加1
                System.out.print(i+"\t");
                if (count%8==0){    //判断次数对8取余数,余数为0就可以进入换行
                    System.out.println();
                }
            }
        }

        System.out.println();
        System.out.println("=============第二种方式==============");
        int count1=0;  //加入统计元素,统计次数
        for (int i = 2; i <=100 ; i++) {
            //下面这些代码只是判断i是否为素数
            boolean isSuShu = true; //默认将i看做一个素数
            for (int j = 2; j < i; j++) {
                if (i % j == 0) {
                    isSuShu = false; //非素数
                    break;  //已经判断i为非素数时,跳出循环
                }
            }
            if (isSuShu) {           //如果为true的话,就相当于为素数
                count1++;        //如果是质数就次数就加1
                System.out.print(i+"\t");
                if (count1==8){    //判断次数是否等于8个数字,等于0就可以进入换行
                    System.out.println();
                    count1=0;
                }
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸叫我照顾大海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值