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