如何在某个输入结束while循环的同时在while循环中总结结果?

时间:2013-01-06 00:53:43

标签: java while-loop sum

我有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 个答案:

答案 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();
}

我建议变量名不要以大写字母开头。

答案 1 :(得分:0)

您应该检查输入>在做和之前0 = +输入。

答案 2 :(得分: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);

答案 3 :(得分:0)

第一个输入值被第二个输入值覆盖,因为总和仅在循环结束时完成。

**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