我有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。
请帮忙!
非常感谢! 杰基
答案 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