gpt4 book ai didi

java - 如何计算百分比

转载 作者:行者123 更新时间:2023-11-30 08:57:39 26 4
gpt4 key购买 nike

下面的代码从文本文件中获取失败的索引并将其打印到网页上,下面的循环执行相同的操作,但用于传递。我想计算百分比,我尝试了下面的代码,但它返回 0.0%

请帮忙,因为我是新手程序员。

    int i = 0;
while ((i = (secondLine.indexOf(failures, i) + 1)) > 0) {
System.out.println(i);
feedbackString += "<strong style='color: red;'><li>Failed: </strong><strong>" + i + "</strong> - " + "out of " + resultString.length() + " tests.<br>";
}

int j = 0;
while ((j = (secondLine.indexOf(passed, j) + 1)) > 0) {
System.out.println(j);
feedbackString += "<strong style='color: green;'><li>Passed: </strong><strong>" + j + "</strong> - Well done.</li>";
}

totalScore = j * 100 / resultString.length();
System.out.println(totalScore);
feedbackString += "Your submission scored " + totalScore + "%.<br>";

最佳答案

您想使除法成为浮点除法:

totalScore = (double)j * 100 / resultString.length();

假设 totalScore 是 double 值。

否则,j * 100/resultString.length() 将使用 int 除法,因此如果 resultString.length() > 100,结果将为 0。

正如 Tom 提到的,while 循环的条件:

while ((j = (secondLine.indexOf(passed, j) + 1)) > 0)

确保它只会在 j <= 0 时结束。因此,难怪 (double)j * 100/resultString.length() 为 0。

如果你想计算通过的次数,你需要第二个计数器:

int j = 0;
int passes = 0;
while ((j = (secondLine.indexOf(passed, j) + 1)) > 0) {
passes++;
System.out.println(j);
feedbackString += "<strong style='color: green;'><li>Passed: </strong><strong>" + j + "</strong> - Well done.</li>";
}

然后

totalScore = (double)passes * 100 / resultString.length();

关于java - 如何计算百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28044622/

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