Java 当centain输入结束while循环时,如何总结while循环中的结果?

Java 当centain输入结束while循环时,如何总结while循环中的结果?,java,while-loop,sum,Java,While Loop,Sum,我在爪哇有一个情况 我想请用户输入一些数字&这些数字的总数。但是,如果用户输入负数,将结束循环 目前我有一个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 =

我在爪哇有一个情况

我想请用户输入一些数字&这些数字的总数。但是,如果用户输入负数,将结束循环

目前我有一个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

请帮忙

非常感谢! 杰基

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

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

在执行sum+=Input之前,您应该检查Input>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);

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

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

您至少有两个问题#1-非常仔细地查看您的代码,并告诉我们当输入负数时会发生什么-确切地说#2-向我们解释这是如何求和的。我还建议使用
do while
来执行此操作。我们可能应该教他们钓鱼,而不是给他们鱼。@TonyEnnis我同意你的看法。这些是一些非常简单的基础知识,应该加以研究。@user1952050:希望您不要简单地学习代码,还要思考代码的区别。@MrSmith42这是一个学习过程。我太傻了,试了三个小时,你才提醒我在要求其他数字之前应该先算数!再次感谢你
(Adding==true)
(Adding)
有什么问题?此外,为什么您的可变名称以大写字母开头?史密斯先生下面的代码更好。更少的逻辑更少的代码相同的结果。我从来都不知道这是否有效哈哈,懒得去检查。从现在开始我只使用(添加)。