0

私はJavaの状況にあります。

ユーザーにいくつかの数字を入れて、それらの数字の合計を持ってもらいたいと思います。ただし、ユーザーが負の数を入力すると、ループが終了します。

現在、以下のようなwhileループがあります。

                double sum = 0;
    double Input = 0;
    System.out.println("Please enter the numbers (negative to end)")
    System.out.println("Enter a number");
    Scanner kdb = new Scanner(System.in);
          Input = kdb.nextDouble();
    while (Input > 0)
    {
        System.out.println("Enter an income");
        Input = kdb.nextDouble();
        sum = Input;
    }

しかし、それは仕事をしません。ユーザーが40、60、50、および-1を入力した場合、正しい結果は150になります。私のループの結果は109になります。

助けてください!

どうもありがとう!ジャッキー

4

4 に答える 4

2
double sum = 0;
double Input = 0;
System.out.println("Please enter the numbers (negative to end)")
System.out.println("Enter a number");
Scanner kdb = new Scanner(System.in);
Input = kdb.nextDouble();
while (Input > 0)
{
    sum += Input;
    System.out.println("Enter an income");
    Input = kdb.nextDouble();
}

変数名は大文字で始まらないことをお勧めします。

于 2013-01-06T00:56:04.383 に答える
0

sum + = Inputを実行する前に、Input>0をチェックする必要があります。

于 2013-01-06T00:57:03.537 に答える
0

これはうまくいくはずです!

        double sum = 0;
    double Input = 0;
    boolean Adding= true;
    System.out.println("Please enter the numbers (negative to end)");

    Scanner kdb = new Scanner(System.in);
    while(Adding == true)
    {
        System.out.print("Enter a number: ");
        Input = kdb.nextDouble();
        if(Input > 0)
        {
            sum+= Input;
        }
        else
            Adding = false;

    }
    System.out.println("Your sum is: " + sum);
于 2013-01-06T01:02:40.387 に答える
0

合計はループの最後でのみ行われたため、最初の入力値は 2 番目の値によって上書きされました。

**double sum = 0;
double Input = 0;
System.out.println("Please enter the numbers (negative to end)");
System.out.println("Enter a number");
Scanner kdb = new Scanner(System.in);
      Input = kdb.nextDouble();
while (Input>0)
{
    sum+= Input;
    System.out.println("Enter an income");
    Input = kdb.nextDouble();

}
System.out.println(sum);
}**

出力は次のとおりです。

Please enter the numbers (negative to end)

数値を入力してください 40 収入を入力してください 50 収入を入力してください 60 収入を入力してください -1 150.0

于 2013-01-06T01:03:35.527 に答える