gpt4 book ai didi

java - calc() 类型方法中的 else if 语句返回不正确的值

转载 作者:行者123 更新时间:2023-12-01 23:26:52 24 4
gpt4 key购买 nike

public double calcTuition()
{
if (isGraduating == 'y')
{
return (Math.round((creditHours * 90.00 * 100.0))) / 100.0;
}
else if (isGraduating == 'n' && creditHours > 21)
{
return (Math.round(1000.0 + (creditHours - 21) * 90.00 * 100.0)) /100.0;
}
else if (isGraduating == 'n')
{
return (Math.round((1000.0 * 100.0))) /100.0;
}

}

我这里有一段java代码,它不断告诉我它没有像预期的那样返回 double 值,这让我很困惑为什么。我唯一能想到的是“creditHours”是整数,所以我将它们转换为 double ,这没有什么区别。我应该在这里使用 case 语句而不是 else if 吗?

编辑:非常感谢您如此快速的回复。老实说,这实际上是相当令人惊讶的,我的意思是,看着我犯的愚蠢错误,我不知道你们中有一半人是如何回答这些问题的,我确信一遍又一遍,并且仍然有耐心让它们成为发人深省的答案。当我听到野马在他的帖子中说“默认”时,我就知道出了什么问题。再次感谢,这真是一个很棒的社区。

最佳答案

编译器看到的是三种情况下要做什么,但它无法知道默认情况下要做什么。如果没有一个 if 条件返回 true 该怎么办?

为了让你的程序正常工作,你应该默认添加一个 return 语句,或者将最后一个 else if 只是一个 else

关于java - calc() 类型方法中的 else if 语句返回不正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19849504/

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