gpt4 book ai didi

java - 为什么我的 double 值中的小数位输出为 ".0"?

转载 作者:行者123 更新时间:2023-12-01 18:27:41 25 4
gpt4 key购买 nike

我正在网上学习java类(class),我需要编写一个计算成绩的程序。然而,我的输出应该有小数位,但它有一个 0。我知道当你用一个整数除 double 值时,它会截断(或者删除小数值,以防我错误地使用该词)它,但是我不允许更改初始化或添加任何初始化。这意味着我无法在初始化中将数据类型从 int 更改为 double。

我不太确定正确的术语是什么,因为我在这里和谷歌上的搜索都没有结果。

测试 3 的平均值计算应该有小数位。前两个结果如预期的那样为 97.0 和 88.0。第三个应该是 86.333,三个重复。

 //local variables
int numTests = 0; //counts number of tests
int testGrade = 0; //individual test grade
int totalPoints = 0; //total points for all tests
double average = 0.0; //average grade

//Test 1 Grade
testGrade = 97;
numTests++; //number of tests increased by one.
totalPoints = totalPoints + testGrade; //add the test grade to the total points.
average = (totalPoints / numTests); //calculate the average out of all the tests.
System.out.print("n = " + numTests + " New Test Grade = " + testGrade + " Total Points = " + totalPoints);
System.out.println(" Average Score: " + average);

//Test 2 Grade
testGrade = 79;
numTests++;
totalPoints += testGrade;
average = (totalPoints / numTests);
System.out.print("n = " + numTests + " New Test Grade = " + testGrade + " Total Points = " + totalPoints);
System.out.println(" Average Score: " + average);

//Test 3 Grade
testGrade = 83;
numTests++;
totalPoints += testGrade;
average = (totalPoints / numTests);
System.out.print("n = " + numTests + " New Test Grade = " + testGrade + " Total Points = " + totalPoints);
System.out.println(" Average Score: " + average);

最佳答案

只需将总点数转换为 double,然后除以测试次数即可。

如下所示,

average = ((double) totalPoints / numTests);

或将totalPoints声明为双倍

关于java - 为什么我的 double 值中的小数位输出为 ".0"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25492246/

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