這樣也是可以嗎?
public class HelloWorld {
? ? public static void main(String[] args) {
? ? ? ??
? ? ? ? // 變量保存成績
? ? ? ? int score = 53;?
? ? ? ??
? ? ? ? // 變量保存加分次數
? ? ? ? int count = 0;
? ? ? ? //打印輸出加分前成績?
? ? ? ? ?System.out.println("加分前成績:"+score); ?
? ? ? ? do {
? ? ? ? ? ? score++;
? ? ? ? ? ? count+1;
? ? ? ? } while (score<60 && count++);
? ? ? ? System.out.println("加分前成績:"+score);
? ? ? ? ? ? ?System.out.println("共加了"+count+"次!");
2016-06-14
對,因為while語句的括號里面是條件,在什么樣的條件下執行里面的算法,count++不是條件所以不能加進去
2016-06-07
但是你要聲明變量count??!語法錯誤了,應該是count=count+1,這樣的話也可以的,但是后面,while后面的條件也有錯誤的,與count++不需要的,只需要提供循環的條件
2016-06-07
你的代碼有兩個問題:
count+1;這句雖然進行了運算,但沒有賦值給任何變量,運算后count不變,想完成count加1運算可以寫成count++;或count+=1;或count=count+1;三種寫法意思是一樣的
while()后面的括號里需要加入判斷語句,score<60是判斷,但count++是一個單純運算,返回結果不是boolean類型的不能放入while后的括號里
循環可以改成如下這樣:do {
? ? ? ? ? ? score++;
? ? ? ? ? ? count++;
? ? ? ? } while (score<60 );其他不變就可以了
2016-06-07
這會產生一個問題。
如果score一開始就>=60,比如score=65,那么你會先執行一次do{? score++;count++; },此時score=66,大于60跳出循環,count=1。
然而實際上,score在第一次進入循環體時就已經大于60了,所以是不需要加分的。所以應該是加了0次才對。