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

这是问题所在。

给定一个人的身高(英寸)和体重(磅),计算他们的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.


}

07-28 08:26