我是编码新手,对此问题有任何疑问,我们将不胜感激。
问题来了
给定一个人的高度(英寸)和体重(磅),计算他们的 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/