Hallo ich bin seit ca einer Woche dabei Java als erste Programmiersprache zu lernen. Ich wollte zum Testen der Funktionen mal einen Steckbrief mit BMI schreiben. Hier tritt aber das Problem auf, dass ich als BMI immer 0 herausbekomme. Wenn ich mir "groeße" als einzelnen Wert ausgeben lasse kennt er diesen Wert aber. Ich habe probiert die Rechnung in zwei Teile zu splitten. Doch auch so kommt nur 0 heraus. Wahrscheinlich ist die Lösung sehr einfach und ich komme einfach nicht drauf. Ich benutze Ubuntu 16.04 und Eclipse.
Wenn ihr sonst noch Infos braucht bitte sagen.
Java:
importjava.util.Scanner;publicclassSteckbrief{publicstaticvoid main (String[]Steckbrief){String name;String geschlecht;int alter;int groeße;int einkommen;int gewicht;Scanner eingabenScannen =newScanner(System.in);System.out.println("Um einen Steckbrief zu erstellen beantworten sie einfach die folgenden Fragen.");System.out.println("");System.out.println("Wie ist ihr Name?");
name=eingabenScannen.next();System.out.println("Wie alt sind sie?");
alter=eingabenScannen.nextInt();System.out.println("Wie groß sind in cm?");
groeße=eingabenScannen.nextInt();System.out.println("Wie hoch ist ihr Einkommen in $?");
einkommen=eingabenScannen.nextInt();System.out.println("Wie viel wiegen sie?");
gewicht=eingabenScannen.nextInt();System.out.println("Was ist ihr Geschlecht?");
geschlecht=eingabenScannen.next();int groeßeImQuadrat;//currently not working
groeßeImQuadrat = groeße*groeße;int BMI = gewicht / groeßeImQuadrat;System.out.println(name +" ist "+ alter +" Jahre alt, "+ groeße +"cm groß, verdient "+ einkommen +"$ im monat, wiegt "+ gewicht +" Kilogramm, sein/ihr Geschlecht ist "+ geschlecht
+" und sein/ihr BMI beträgt "+ BMI +". ");boolean untergewichtig = BMI <60;if(untergewichtig){System.out.println("Sie sind untergewichtig, suchen sie bitte einen Arzt auf.");}}}
Hallo,
Wenn du überall dort wo du ein String einliest statt eingabeScannen.next() eingabeScannen.nextLine() schreibst sollte es funktionieren
Für die Körpergröße in Metern solltest du Double verwenden(weil es ja Kommazahlen sind). Untergewicht hat man glaube ich erst bei unter 18 BMI.
Dementsprechend muss BMI auch Double sein und was mir noch aufgefallen ist: du solltest vielleicht das Programm vor falschen Eingabe absichern.