2016-12-30 5 views
-5

ユーザーがゼロを挿入してから挿入された数の平均を出力するまで数値を求めるプログラムを作成する必要があります。しかし、私は最初の入力の平均を得ることができますが、後者の平均を得ることはできません。java - do-whileループを正しく破ることができない

public static void main(String[] args) { 

     double a = 0; 
     int b = 0; 
    Scanner input = new Scanner(System.in); 
    do { 
     b++; 
     System.out.println("insert a number"); 
      a += input.nextDouble(); 

    } 
    while (a > 0);{ 

     } 

     System.out.println("the average is " + a/b); 

    } 

}

+1

あなたはwhileステートメントの後にかっこを入れますか? –

+1

変数に 'a'や' b'ではなく意味のある名前を付けると、バグを見つけやすくなります。 – Misha

+0

は、最初の(正の)入力の後に決して1未満にならないでしょう。新しい入力が追加されるだけです。 – Minato

答えて

1

あなたのwhile小切手での入力を持っていません。あなたが直接に値を追加する場合、

a+=input.nextDouble(); 

だからを:

userInput = input.nextDouble(); 
a += userInput; 
} 

while(userInput > 0) 
.... 
0

あなたはに直接入力から値を追加している:あなたはuserInputを言って、別の変数が呼び出されている必要がありが0以下に低下したときにのみユーザが0を入力したときにループを終了させることはできません。

関連する問題