BMI berechnen mit Java: wie (Normal-, Über-, Untergewicht mit "if/else")?
Ich habe folgendes Problem: Den BMI einer Person kann ich erfolgreich bestimmen lassen und nun geht es darum, festzustellen, ob diese Person Über-, Unter- oder Normalgewicht hat (unabhängig vom Geschlecht). Dies würde ich gerne über "if/else" erledigen, leider gelingt mir dies nicht - hat Jemand eine Idee ?
2 Antworten
1) Nach jeder Ausgabe per System.out.println ("") fehlt ein " ; ".
Ein ; ist der Befehlsabschluss. Also nach jedem Befehl MUSS ein ; hin.
2) in Java programmierst du in Klassen. In diesen Klassen gibt es Methoden, all deib Code MUSS innerhalb einer methode stehen (ausser klassenvariablen)
3) du hast eine if aufgemacht, aber nicht geschlossen und direkt ein else, also so:
If (){System... else {...}...}
Aussehen solte es aber so:
If (){}else {}
Lösung:
public void methode ()
{
if (bmi < 18,5)
{
...}
else if (bmi > 20){
...}
else
{...}
(Habe das spezielle else-if Statement benutzt, ist das gleiche wie: else {if (){}})
Erstmal, ich kann kein Java, so werde ich jetzt nur das Prinzip zeigen.
If BMI < 16
Weight = "underweight"
If BMI < 24
Weight = "normal"
If BMI < 32
Weight = "overweight"
Da ist die Reihenfolge wichtig :) Ich denke, so dürfte es funktionieren.
Hier, so dürfte der Code aussehen: https://www.dropbox.com/s/gdx0w5n6ob8pmx0/Bildschirmfoto%20vom%202015-12-23%2019%3A13%3A08.png?dl=0
Und bitte wundere dich nicht :) Ich programmiere auch Python, nicht nur Scratch. Mit Scratch geht es halt schneller :D
So ähnlich habe ich es schon oft versucht, aber da fängt er schon bei dem ersten if an zu meckern, folgende Fehlermeldung kommt dann: "illegal start of type"
ich hab einfach echt kein Plan, was da noch fehlen könnte :/
if BMI < 32
Weight = "overweight"
Bei dem musst du's anders machen d: Da gehört statt "if BMI < 32" "if BMI > 32" rein. Also statt kleiner, größer als.