如何计算范围的平均值?

时间:2016-11-15 18:14:37

标签: java range average

我需要协助处理作业问题。问题如下:“使用while循环和do while循环计算一系列数字的总和和平均值。显示每个循环的结果。”我已经完成了大部分代码,我只是遇到了平均部分的问题。这是我到目前为止所拥有的。

{{1}}

现在,我的主要问题是尝试获得最小值不是1的范围的平均值。只要范围中的最小值为1,它就能完美地运行。有什么方法可以得到它最低值超过1的工作。

1 个答案:

答案 0 :(得分:3)

int sum = 0;
int counter = number1;
while(counter <= number2){
   sum += counter;
   counter++;
}
System.out.println("Sum:\t" + sum);
System.out.println("Average:\t" + (sum / (number2 - number1 + 1));
//--------------------------------------------------
sum = 0;
counter = number1;
do{
   sum += counter;
   counter++;
}while(counter <= number2);
System.out.println("Sum:\t" + sum);
System.out.println("Average:\t" + (sum / (number2 - number1 + 1));

你的while循环的条件(sum == 0)毫无意义。如果要迭代范围,则该范围的结尾应该是您的条件。考虑总和平均值之间的关系,可以清楚地表明您只需要循环一次然后再划分结果。如果你愿意,你可以重复循环(如你所愿),但它更慢,更不必要。

干杯!

编辑:我只是想补充一下这个澄清,我希望能进一步解释一下:你编写代码的方式, / 执行循环只运行一次(就像你做for (int i = 0; i < 1; i++)一样)并且你实际上是使用更熟悉的 for 循环 中进行循环而循环。但是,正如另一位评论者指出,此作业的目的可能是让您了解如何使用 while 循环而不是使用更直观的 for 循环 - 然后再回到 for 循环,你就证明你的老师有点了:)