Java 当centain输入结束while循环时,如何总结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 =
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)
有什么问题?此外,为什么您的可变名称以大写字母开头?史密斯先生下面的代码更好。更少的逻辑更少的代码相同的结果。我从来都不知道这是否有效哈哈,懒得去检查。从现在开始我只使用(添加)。