此循环生成小时数和支付金额的平均值,但输出在数学上是不正确的。我如何编辑此代码以生成正确的平均小时值和平均付费值?
Scanner openFile = new Scanner(inFile);
while (openFile.hasNext()) {
if (openFile.hasNextDouble()) {
totalHours += openFile.nextDouble();
numOfHourInputs++;
}
if (openFile.hasNextDouble()) {
totalPaid += openFile.nextDouble();
numOfCharges++;
}
else {
openFile.next(); }
}
averageHours = (totalHours/numOfHourInputs);
averagePaid = (totalPaid/numOfCharges);
下面是我的文件: 第一列对于计算平均值并不重要。第二列包含小时数。第三列包含费用。
用户可以向该文件添加更多数据 - 文件内的值可以更改。
10.0 9.95
b 10.0 13.95
b 20.0 13.95
c 50.0 19.95
c 30.0 19.95
最佳答案
删除其他:
else {
openFile.next(); //this consumes all input
}
关于java:从文件读取时循环产生不正确的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28535744/