gpt4 book ai didi

java - 无用号码计算结果

转载 作者:行者123 更新时间:2023-12-02 06:52:59 25 4
gpt4 key购买 nike

好吧,我正在编写一个程序,根据用户想要做的数量,为用户提供一组方程。在运行并且用户回答所有问题后,会生成一份报告。我的报告代码很简单:

public void report(){
percent = (totalCorrect / numberOfQuestions) * 100;
totalTime = (endTime - startTime) / 1000;
System.out.println("Report:");
System.out.println("Questions Answered: " + numberOfQuestions);
System.out.println("Total Correct: " + totalCorrect);
System.out.println("Total Incorrect: " + totalIncorrect);
System.out.println("Percent: " + percent + "%");
System.out.println("Time taken: " + totalTime + " seconds");
}

但是结果是:

Report:
Questions Answered: 2
Total Correct: 1
Total Incorrect: 1
Percent: 0.0%
Time taken: 2 seconds

这是正确的,我故意回答一个正确一个错误。我的问题是百分比始终是 0.0%,除非我把它们全部正确,在这种情况下它是 100%。我不明白我做错了什么。它记录正确答案的正确数量(基于“正确总数:”输出)和问题数量。显然我的百分比方程是正确的。任何帮助将非常感激!

最佳答案

如果程序中的 totalCorrectnumberOfQuestionsint,那么您很可能执行了整数除法。在 Java 中的整数除法中,结果也必须是 int,因此结果会被截断。

在执行除法之前将其中一个变量转换为 double,这样 Java 将首先执行浮点除法。

percent = ((double) totalCorrect / numberOfQuestions) * 100;

关于java - 无用号码计算结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17796030/

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