qq_明_5
2016-03-17 15:06
我想把这个程序用do....while写出来,应该怎么做?求大神指教。
public class Test{
public static void main(String [] args){
int a=0,b=1;
do{
a=a+b;
if(b%3!=0){
a=a+b;
b++;
}
} while(b<=100);
System.out.println(a);
}
}
b++是你循环继续的条件,如果写道if语句里边的话,当你碰到第一个能够整除3的数时候(第一个数是3),if语句判断条件不成立,则不执行后边大括号里边的语句,此时你的b=3,while循环判断b<100(b=3),则进行下一轮循环,碰到if语句时还是跳过不执行,代码就陷入了死循环。
题目如果是想将100以内除了能被3整除的数以外所有数相加,输出最终结果的话,下面的代码可以看看。。
int sum=0;
int b=1;
do
{
if(b%3!=0)
{
// System.out.println("b="+b); //作为检验的语句
sum+=b;
}
++b;
}while(b<=100);
System.out.print("最终的结果是:"+sum);
这不就是用do……while写的吗?
public class Test { public static void main(String[] args){ int a=0,b=1; do{ if(b%3!=0){ a=a+b; } b++; }while(b<=100); System.out.println(a); } }
误打误撞写出来了..求解释?为什么a=a+b要写在if里面的中括号内;
为什么b++要写在if的中括号外,
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题