請教大神一道題
我想把這個程序用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);
}
}
2016-03-17
b++是你循環繼續的條件,如果寫道if語句里邊的話,當你碰到第一個能夠整除3的數時候(第一個數是3),if語句判斷條件不成立,則不執行后邊大括號里邊的語句,此時你的b=3,while循環判斷b<100(b=3),則進行下一輪循環,碰到if語句時還是跳過不執行,代碼就陷入了死循環。
2016-03-17
題目如果是想將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);
2016-03-17
這不就是用do……while寫的嗎?
2016-03-17
誤打誤撞寫出來了..求解釋?為什么a=a+b要寫在if里面的中括號內;
為什么b++要寫在if的中括號外,