請問這個是哪里出了問題?
public?class?HelloWorld?{ ????public?static?void?main(String[]?args)?{ ???????? ????????//?變量保存成績 ????????int?score?=?53;? ????????System.out.println("加分前成績:"+score); ????????//?變量保存加分次數 ????????int?count?=?0; ????????int?n=0; ????????if(score<=60){ ????????????do{ ????????????????count++; ????????????????n++; ????????????}while(count<=59); ????????????System.out.println("加分后成績:"+count); ????????} ????????System.out.println("共加了"?+n+"次!"?);????}}
2019-05-08
public class HelloWorld {
? ? public static void main(String[] args) {
? ? ? ? // 變量保存成績
? ? ? ? int score = 53;?
? ? ? ? System.out.println("加分前成績:"+score);
? ? ? ? // 變量保存加分次數
? ? ? ? int count = 0;
? ? ? ? int n=0;
? ? ? ? ? ? do{
? ? ? ? ? ? ? ? score++;
? ? ? ? ? ? ? ? count++;
? ? ? ? ? ? }while(score<=59);
? ? ? ? ? ? System.out.println("加分后成績:"+score);
? ? ? ? System.out.println("共加了" +count+"次!" );? ? }}
第一:不需要雙重判斷
第二:你代碼中 聲明了變量n 完全是多余的,基本沒有作用,而且do{}while{} 判斷是先執行 再判斷,所以while中的條件count<=59之前 此循環是不會跳出來的,你定義的 int count=0;所以你定義的n 會同 count一樣自加60次
還有就是我覺得 用while(){} 會使代碼簡潔些,代碼如下:
public class HelloWorld {
? ? public static void main(String[] args) {
? ? ? ? int score = 53;?
? ? ? ? int count = 0;
? ? ? ? ? System.out.println("加分前成績" + score);
? ? ? ? while(score<60){
? ? ? ? ? ? score++;
? ? ? ? ? ? count++;
? ? ? ? }
? ? ? System.out.println("加分后成績" + score);
? ? ? System.out.println("共加了" + count + "次");
? ? }
}