我是编码新手,对此问题有任何帮助,我们将不胜感激。
这是问题所在。
给定一个人的身高(英寸)和体重(磅),计算他们的BMI。 BMI的计算方式为BMI =(体重* 703)/(身高*身高),然后根据其BMI小于18.5,返回一条消息,指出“您体重不足”。如果该值不小于26,则返回一条消息,指出“您的体重健康”。如果大于或等于26,请返回一条消息,提示“您超重”。
BMIResult(177,69)→“您超重。”
BMIResult(125,62)→“您的体重很健康。”
BMIResult(95,64)→“您体重不足”。
提示:将您的BMI计算四舍五入到小数点后一位。确保消息返回与显示的完全相同。
我究竟做错了什么!!这是我得到的错误。
错误:公共字符串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.";
}
即使我尝试将双精度型转换为字符串也不起作用。
最佳答案
问题是,如果两个条件都不满足,将不会返回任何内容。
采用 :
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.
}