想問一下,為什么將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
舉報
2020-07-09
這里使用while會一直循環,所以不行,因為while后面括號中的條件如果不變的話就是一直為真,那么循環就會一直循環,中間添加break可以解決問題但是太冗余
2020-06-01
while是循環語句,if是判斷語句。
2020-05-25
while語句屬于循環語句,如果條件為true,則會繼續判斷,直到false為止,也就是說它會一直判斷1%3!=0,此時的i在while判斷中一直是1,顯然這個條件為真,也就是說進入了死循環出不來了,你可以在whlie里面添加break,這樣就達到了執行一次,跳出來一次,就不會是死循環了。
?while(i%3!=0) {
???sum=sum+i;
? ?breaek;
??}
2020-05-18
這個程序在i=1的時候就會一直卡在while循環這里,因為i=1,i%3一直成立,中間i的值沒變過。if的話判斷完一次就往后了??梢栽趙hile里面加個break;