請問這個是哪里出了問題?
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 + "次");
? ? }
}