gpt4 book ai didi

java - 我的程序可以编译,但当源文件中没有 0 时,它的平均值为 0.0

转载 作者:行者123 更新时间:2023-12-01 18:15:46 24 4
gpt4 key购买 nike

我正在做一项作业,我的程序应该从文件中读取成绩并输出平均值。我的代码可以编译,但输出始终为 0.0。

代码如下:

import java.util.Scanner;
import java.io.File;
import java.io.FileReader;
import java.io.FileNotFoundException;
public class testScores
{
public static void main ( String [] args )
{
int i;
int c;
double [] testScores = new double[7];
i=0;
try
{
Scanner scan = new Scanner( new File ( "testScores.txt") );
while( scan.hasNext() )
{
String temp = scan.nextLine();
testScores[i] = Double.parseDouble(temp);
i++;
}
scan.close();
}

catch ( FileNotFoundException fnfe )
{
System.out.println("Unable to find the testScores.txt file. Program terminating.");
}

catch (Exception e)
{
e.printStackTrace();
}
double avgStart = 0;
double avgFinal;
int gradeCount = 1;
while ( i < testScores.length)
{
avgStart += testScores[i];
i++;
}

avgFinal = avgStart / i;

System.out.println("The final average of all of the test scores in the file testScores.txt are " + avgFinal + ".");

}
}

请提供任何见解。我不确定代码如何变为零。

最佳答案

如果除以一个整数,那么结果将是一个整数

整数除法

1.0 / 2 == 0

所以改变

avgFinal = avgStart / i;

avgFinal = avgStart / (double) i;

关于java - 我的程序可以编译,但当源文件中没有 0 时,它的平均值为 0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29690536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com