Hallo, bin blutiger Anfänger und versuche gerade einen BMI Rechner zu programmieren.
Bei der Aufgabenstellung, muss ich jedoch den BMI für Mann und Frau berechnen können.
Problem: Ich weiss nicht wie ich hier die Werte der Frauen mit rein implementieren kann.
Kann jemand Helfen?
Gruss Toni.
Code bitte immer als Code (</> Symbol nutzen) posten und nicht als Bildschirmfoto.
Was genau ist denn das Problem? Die Berechnung ist ja erst einmal soweit korrekt.
Lediglich bei der Auswertung sind die Grenzen anders. Somit musst Du nur abfragen, ob es sich um einen Mann oder eine Frau handelt um dann die entsprechenden Werte zu nutzen.
ich müsste folgende Werte für Weiblich eintragen :
Java:
if(bmi <19){System.out.println("Sie sind untergewichtig!");}elseif(bmi >19-24){System.out.println("Sie haben Übergewicht!");}else{System.out.println("Sie haben Normalgewicht!");
Nun weiss ich aber nicht wohin mit dem code und wie ich das Geschlecht deklariere.
Java:
packagech.santis.programmierenlernen.kapitel2;importjava.util.Scanner;publicclassAufgabe_3_7_c{publicstaticvoidmain(String[] args){Scanner scanner =newScanner(System.in);double gewicht;double groesse;double bmi;System.out.println("Geben sie Ihr Gewicht an:");
gewicht = scanner.nextDouble();System.out.println("Geben sie Ihre Grösse an:");
groesse = scanner.nextDouble();
bmi = gewicht /(groesse * groesse);System.out.println("Ihr BMI ist:"+ bmi);if(bmi <20){System.out.println("Sie sind untergewichtig!");}elseif(bmi >25){System.out.println("Sie haben Übergewicht!");}else{System.out.println("Sie haben Normalgewicht!");}}}
Du musst den Anwender Fragen, ob er männlich (m) oder weiblich (w) ist. Das fragst du dann ab (z.B. mit next) um dann in n einem if dies zu prüfen und entweder das Eine oder das Andere zu machen.
// mache bitte aus:System.out.println("Sie sind untergewichtig!");// das hier:System.out.println("Sie haben Untergewicht!");// weil:System.out.println("Sie haben Übergewicht!");System.out.println("Sie haben Normalgewicht!");
da ich wirklich erst seit letzte Woche angefangen habe zu programmieren, konnte ich mit euren gutgemeinten Antworten, nichts anfangen.
Deshalb habe ich die Aufgabe etwas umschrieben:
Also das gefällt mir so schon recht gut. Vor allem die Unterteilung in viele kleine Methoden ist super. Nur bei der Auswertung hast Du einen Fehler, denn Untergewichtig wirst Du nie bekommen können....
Das könnte man noch weiter treiben, in dem Du die Ausgabe in eine Methode packst, die die Grenzen entgegen nimmt:
Und die Konstanten werden dann natürlich noch klar definiert als public static final double ....
Das wäre eine weitere Untergliederung. Das wäre dann nur noch zu toppen von einem Objektorientierten Ansatz. Da hast Du bisher noch nicht wirklich viel. Da könnte man dann einiges mehr machen, aber das könnte hier jetzt etwas zu weit führen...