分别使用while、do-while和for循环输出1-1000中含有7或者7倍数的整数之和及个数-详解

 

我们先理解题目,找出解题思路:

 

1、循环: 目标区间在1-1000以内,所以循环最小为1开始,最大循环至1000就停止循环。

  2、提取条件:含有7的整数:用循环数求7的模 (%) 

理清楚这两个思路即可使用代码实现本题。为了使输出结果更清晰,这里输出时我使用了条件格式(每行输出十位整数)

if (a %10==0 && a!=0){
                System.out.println("");
                }

 

代码正式开始

一、while循环

 public static void main(String []args){
        int a=0,b=0,c=0;
        while (a<=1000){
            if(a%7==0){
                b+=a;
                if(c %10==0&&c!=0){
                    System.out.println(" ");
                }
                c++;
                System.out.print(a+"\t");
                b++;
            }
            a++;
        }
        System.out.println("");
        System.out.println("和为:"+b);
        System.out.println("共有"+c+"个");
    }

放图

.d300f38ad209e3e8deb28944e4b7191c.png

 

二、do-while

 public static void main(String[]args){
        int a=0,b=0,c=0;
        do{
            if(a%7==0){
                b+=a;
                if(c %10==0&&c!=0){
                    System.out.println(" ");
                }
                c++;
                System.out.print(a+"\t");
                b++;
            }
            a++;
        }while (a<=1000);
        System.out.println("");
        System.out.println("和为:"+b);
        System.out.println("共有"+c+"个");
    }
    
}

放图

04d9cfe098d51a74a89ede9dd781625a.png

 

 

三、for

public static  void main(String[]args){
        int a=0,sum=0,b=0;
        System.out.println("1-1000中含有7或者7倍数的整数为:");

        for (int zhi =1;zhi<=1000;zhi++){
            if (zhi%7==0){
                sum+=zhi;
                if (a %10==0 &&a!=0){
                System.out.println("");
                }
                a++;
                System.out.print(zhi+"\t");
                b++;
            }
        }
        System.out.println("");
        System.out.println("和为:"+sum);
        System.out.println("共有"+b+"个");
    }
//方法一样,我这边跑着总是少一个

 放图

8654eef18c169413e5cbc2e5fe499055.png

 

教程到此结束,如有不解的地方都可以私信来问下

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

三天不洗头

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

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

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

打赏作者

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

抵扣说明:

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

余额充值