請教大神一道題
我想把這個(gè)程序用do....while寫出來,應(yīng)該怎么做?求大神指教。
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);
}
}
2016-03-17
b++是你循環(huán)繼續(xù)的條件,如果寫道if語句里邊的話,當(dāng)你碰到第一個(gè)能夠整除3的數(shù)時(shí)候(第一個(gè)數(shù)是3),if語句判斷條件不成立,則不執(zhí)行后邊大括號(hào)里邊的語句,此時(shí)你的b=3,while循環(huán)判斷b<100(b=3),則進(jìn)行下一輪循環(huán),碰到if語句時(shí)還是跳過不執(zhí)行,代碼就陷入了死循環(huán)。
2016-03-17
題目如果是想將100以內(nèi)除了能被3整除的數(shù)以外所有數(shù)相加,輸出最終結(jié)果的話,下面的代碼可以看看。。
?int sum=0;
??int b=1;
??do
??{
???if(b%3!=0)
???{
???//?System.out.println("b="+b);????????//作為檢驗(yàn)的語句
????sum+=b;
???}
???++b;
??}while(b<=100);
??System.out.print("最終的結(jié)果是:"+sum);
2016-03-17
這不就是用do……while寫的嗎?
2016-03-17
誤打誤撞寫出來了..求解釋?為什么a=a+b要寫在if里面的中括號(hào)內(nèi);
為什么b++要寫在if的中括號(hào)外,