java - Codingbat 练习 BMI 结果

标签 java

我是编码新手,对此问题有任何疑问,我们将不胜感激。

问题来了

给定一个人的高度(英寸)和体重(磅),计算他们的 BMI。 BMI 的计算公式为 BMI = (weight*703)/(height*height) 然后,根据他们的 BMI,如果小于 18.5,则返回一条消息,说“你体重过轻”。如果它至少且不超过 26,则返回一条消息“您的体重是健康的”。如果是 26 或更多,则返回一条消息“您超重”。

BMIResult(177, 69) → “你超重了。”

BMIResult(125, 62) → “您的体重很健康。”

BMIResult(95, 64) → “你体重过轻。”

提示:将您的 BMI 计算结果四舍五入到小数点后一位。确保消息返回与显示的完全一致。

我做错了什么!!这是我遇到的错误。

错误:public String BMIResult(双倍重量,双倍高度){

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 此方法必须返回 String 类型的结果

可能的问题:if语句结构理论上可能 允许运行到达方法的末尾而不调用 return。 考虑在方法 return some_value 中添加最后一行; 所以总是返回一个值。

这是我的代码,它得到了上面的错误消息:

public String BMIResult(double weight,double height) {
double bmi=((weight*703)/(height*height));

if (BMI<18.5)

  return "You are underweight.";

if (BMI>18.5 && BMI<26)

  return "Your weight is healthy.";

if (BMI>=26)

  return "You are overweight.";



}

即使我尝试将 double 型转换为字符串,它也不起作用。

最佳答案

问题是,如果两个条件都不满足,则不会返回任何内容。

使用:

public String BMIResult(double weight,double height) {
double bmi=((weight*703)/(height*height));

if (BMI<18.5)

  return "You are underweight.";

if (BMI>18.5 && BMI<26)

  return "Your weight is healthy.";

if (BMI>=26)

  return "You are overweight.";

return ""; //add something.


}

关于java - Codingbat 练习 BMI 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21788661/

相关文章:

java - 重复场景树 (Java3d/OpenGL)

java - 对数组列表进行排序时出现问题

java - 可扩展的字节数组

Java:将日期 2011-Jan-01 转换为 dd-MM-yyyy 格式

java - 从 jtextfield 获取数据并将其反转以显示在另一个 jtextfield 中

java - Spring 启动: FeignClient with SSL (p12)

java - FileInputStream vs ClassPathResource vs getResourceAsStream 和文件完整性

java - JPanel 的大小在 Netbeans 中没有改变

java - 缩小 catch block 的类型对性能有影响吗?

java - 高性能并发 MultiMap Java/Scala