Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 平均while循环中的值_Java - Fatal编程技术网

Java 平均while循环中的值

Java 平均while循环中的值,java,Java,所以我有一个名为gettSeconds的公共访问器方法,我在while循环中调用了它,如下20次: int i =0; double sum = 0; double average =0; while (i < 20) { call.read(); sum = sum + call.getSeconds(); System.out.println(sum); average = sum / 10.0; } inti=0; 双

所以我有一个名为gettSeconds的公共访问器方法,我在while循环中调用了它,如下20次:

int i =0;
double sum = 0;
double average =0;
while (i < 20) {
        call.read();
        sum = sum + call.getSeconds();
        System.out.println(sum);
        average = sum / 10.0;
}
inti=0;
双和=0;
双平均=0;
而(i<20){
call.read();
sum=sum+call.getSeconds();
系统输出打印项数(总和);
平均值=总和/10.0;
}

因此,基本上我调用read 20次,然后计算每次读取文件所需的时间,并计算总时间的平均值。但我一直将最后一次读取时间作为平均值,而不是实际平均值。

在将所有值相加后,您应该计算平均值:

int i = 0;
int sum  = 0;
int average = 0;
while (i < 20) {
    call.read();
    sum = sum + call.getSeconds();
}
average = sum / 20.0;

我被诱惑去做更多的改变——但让我们尽可能多地保留你的原创——你可能想做这样的事情

double sum = 0;
double average =0;
for (int i=0; i < 20; i++) {
  call.read();
  sum = sum + call.getSeconds();
}
average = sum / 20.0;
System.out.println(average);
double sum=0;
双平均=0;
对于(int i=0;i<20;i++){
call.read();
sum=sum+call.getSeconds();
}
平均值=总和/20.0;
系统输出打印项次(平均值);

请注意,对于原始的
while(i<20)
,条件始终为真,因此实际上它将永远运行。也许你有不同的意图-在这种情况下,请更清楚。

你应该在循环完成后计算平均值:
average=sum/20该案例也不起作用。仍在获取最后一个值。如果希望有人发现错误,则必须显示实际代码。我不相信这是真的(你的循环中没有
I++
是我相信这一点的原因);最后。谢谢,这解决了我的问题。
double sum = 0;
double average =0;
for (int i=0; i < 20; i++) {
  call.read();
  sum = sum + call.getSeconds();
}
average = sum / 20.0;
System.out.println(average);