想問一下,為什么將if改成while不行?
public class Shoushou {
public static void main(String[] args) {
?int sum=0;
?for(int i=1;i<=100;i++) {
??while(i%3!=0) {
???sum=sum+i;
??}
?}
?System.out.println(sum);
}
}
public class Shoushou {
public static void main(String[] args) {
?int sum=0;
?for(int i=1;i<=100;i++) {
??while(i%3!=0) {
???sum=sum+i;
??}
?}
?System.out.println(sum);
}
}
2020-05-16
舉報(bào)
2020-07-09
這里使用while會(huì)一直循環(huán),所以不行,因?yàn)閣hile后面括號(hào)中的條件如果不變的話就是一直為真,那么循環(huán)就會(huì)一直循環(huán),中間添加break可以解決問題但是太冗余
2020-06-01
while是循環(huán)語句,if是判斷語句。
2020-05-25
while語句屬于循環(huán)語句,如果條件為true,則會(huì)繼續(xù)判斷,直到false為止,也就是說它會(huì)一直判斷1%3!=0,此時(shí)的i在while判斷中一直是1,顯然這個(gè)條件為真,也就是說進(jìn)入了死循環(huán)出不來了,你可以在whlie里面添加break,這樣就達(dá)到了執(zhí)行一次,跳出來一次,就不會(huì)是死循環(huán)了。
?while(i%3!=0) {
???sum=sum+i;
? ?breaek;
??}
2020-05-18
這個(gè)程序在i=1的時(shí)候就會(huì)一直卡在while循環(huán)這里,因?yàn)閕=1,i%3一直成立,中間i的值沒變過。if的話判斷完一次就往后了??梢栽趙hile里面加個(gè)break;