第一次学习Java,我无法弄清楚为什么我的总和不能从用户的输入中正确显示..任何帮助都将不胜感激!
System.out.println("Enter an income (Any negative number to quit):");
ArrayList<Double> numbers = new ArrayList<>();
Scanner one = new Scanner(System.in);
double sum = 0.0;
double avg = 0.0;
while (true)
{
double number = one.nextInt();
System.out.println("Enter an income (Any negative number to quit):");
if (number >= 0)
{
numbers.add(number);
}
else{
double min = Collections.min(numbers);
double max = Collections.max(numbers);
for (int i = 0; i < numbers.size(); i++)
{
i = numbers.size();
sum = sum + i;
}
avg = sum / numbers.size();
double value = 0.0;
System.out.println("The minimum number is " + min);
System.out.println("The maximum number is " + max);
System.out.println("Sum " + sum); //
System.out.println("The Average number is " + avg);
}
}
答案 0 :(得分:0)
您将索引i
覆盖到数组大小,以便在循环中输入一次并在sum
中设置数组大小,而不是执行以下操作:
for (int i = 0; i < numbers.size(); i++)
{
sum = sum + numbers.get(i);
}
您也可以使用foreach:
for (Double number : numbers)
{
sum = sum + number;
}
答案 1 :(得分:0)
这些问题是:
''.join
你永远不应该改变循环中的循环变量。当你这样做时会发生循环早期结束,并不是return ''.join([sublist[column_index] for sublist in board])
的每个值都被添加到总和中。
您也不想在总和中添加i = numbers.size();
sum = sum + i;
...您想要在i
位置添加元素。
你应该做的事情如下:
i