我从java开始并通过我的BMI计算器返回正确的值而遇到问题。我真的很感谢你的帮助!
亲切的问候, 安迪...
public class bmirechner {
public static void main(String[] args) {
String ergebnis ="";
bmirechner(ergebnis);
System.out.println(ergebnis);
}
public static String bmirechner(String ant){
int kg=0;
float length=0;
double bmi=0;
Scanner sc = new Scanner(System.in);
System.out.println("Bitte geben Sie ihr Körpergewicht ein.");
kg = sc.nextInt();
System.out.println("Bitte geben Sie ihre Größe ein.");
length = sc.nextFloat();
bmi = kg/(length*length);
if(bmi>=18.5&&bmi<=24) {
return ant="Normalgewicht";
}
else if(bmi>=24&&bmi<30) {
return ant="Übergewicht";
}
else if(bmi>=30&&bmi<35) {
return ant="Adipositas Grad 1";
}
else if(bmi>=35&&bmi<40) {
return ant="Adipositas Grad 2";
}
else if(bmi>40) {
return ant="Adipositas Grad 3";
}
else return ant="nicht vorhanden";
}
}
答案 0 :(得分:1)
我对java不是很熟悉,但我正在思考return ant="Normalgewicht";
部分。我只会写return "Normalgewicht";
答案 1 :(得分:1)
在你的if语句中你有一些代码不知道该做什么的情况
if(bmi>=18.5&&bmi<=24) {
return ant="Normalgewicht";
}
else if(bmi>=24&&bmi<30) {
return ant="Übergewicht";
}
如果你输入24,它只会调用第一种方法。你应该将第一个if条件更改为&lt; 24而不是&lt; = 24。
else if(bmi>=35&&bmi<40) {
return ant="Adipositas Grad 2";
}
else if(bmi>40) {
return ant="Adipositas Grad 3";
}
这里你没有办法处理如果输入40会发生什么,因为bmi&lt; 40和bmi&gt; 40不包括该值。你可能想把最后一个条件改为if(bmi> 40)。
您也不需要return ant=" Normalgewicht";
,您希望在主方法中拥有return "Normalgewicht";
并拥有String ergebnis = bmirechner();
。