我们先理解题目,找出解题思路:
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+"个");}
放图
.
二、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+"个");}}
放图
三、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+"个");}//方法一样,我这边跑着总是少一个
放图
教程到此结束,如有不解的地方都可以私信来问下