gpt4 book ai didi

java - 如何在没有 if 的情况下修复 java 错误

转载 作者:行者123 更新时间:2023-12-01 19:35:07 24 4
gpt4 key购买 nike

我正在制作一个体重指数计算器,但我无法做出正确的 if else 语句。我不明白 else if 部分的错误。它表示错误“else”而没有“if”。 if-else 语句的正确结束方式是什么。

  if (choices == ('e' || 'E'))
System.out.print("ENTER YOUR WEIGHT IN POUNDS(lb): ");
weighte = input.nextDouble();
System.print.out("ENTER YOUR HEIGHT IN FEET(ft): ");
heighte = input.nextDouble();

bmi = (weighte / (heighte * heighte));
else if (choices == ('m' || 'M'));
System.out.print("ENTER YOUR WEIGHT IN KILOGRAMS(kg): ");
weightm = input.nextDouble();
System.out.print("ENTER YOUR HEIGHT IN CENTIMETERS(cm): ");
heightm = input.nextDouble();
bmi = (weightm / (heightm * heightm));

System.out.print("YOUR BMI IS " + bmi);

最佳答案

如果你写的时候没有{}:

if (choices == ('e' || 'E'))
System.out.print("ENTER YOUR WEIGHT IN POUNDS(lb): "); // <-- if statement ends here
weighte = input.nextDouble(); // <-- runs unconditionally
//...
else if (choices == ('m' || 'M')); // <-- if ends with ;

所以,只需使用括号

if(condition){
// ...
} else if(condition) {
// ...
}

另请参阅Java Tutorials: if-else :

In addition, the opening and closing braces are optional, provided that the "then" clause contains only one statement:

(我强调)

<小时/>

这段代码还有更多问题,我认为部分原因是从更大的代码块中获取了一个片段。但我认为这是这里的“主要”问题。

编辑:最后一件事......

如果“e”和“m”是仅有的两个可能的选择,则只需排除第二个 if 和条件。如果不是“e”,则必须是“m”。事实上,理论上有可能它既不是“e”也不是“m”,这使得 bmi 未设置(或设置为默认值)。

关于java - 如何在没有 if 的情况下修复 java 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58074373/

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