0

我的这部分作业一直有问题。问题要求将平均值写入另一个文件,但是当我在另一个文件中看到结果时,平均值显示一个问号,平均值答案应该是。我唯一的问题是while循环内的代码,其他一切似乎都在工作。谁能告诉我我做错了什么?

File file = new File (filename);
Scanner inputFile = new Scanner (filename);

filename = inputFile.nextLine();


while(inputFile.hasNext())
{
   double number = inputFile.nextDouble();
   sum =  number + sum;
   count++;
   line = inputFile.nextDouble();
}
inputFile.close();
mean = sum / count;
4

2 回答 2

1
double number = inputFile.nextDouble();
sum =  number + sum;
count++;
line = inputFile.nextDouble();

您调用 nextDouble 两次,并且只考虑第一次调用,这意味着您正在跳过一个值。这就是为什么您的总和因此均值不正确的原因。

删除最后一行: line = inputFile.nextDouble();

于 2012-11-01T23:55:45.270 回答
0

nextDouble()在循环中调用了两次,因此只会读取第二个数字。

于 2012-11-01T23:56:03.740 回答