Java :: Aufgabe #212 :: Lösung #1

8 Lösungen Lösungen öffentlich
#212

Body-Mass-Index (BMI)

Anfänger - Java von hollst - 20.11.2018 um 18:23 Uhr
Der BMI ist eine (umstrittene) Kenngröße zur Ermittlung des eigenen Über-/Untergewichtszustandes:

BMI = Körpermasse (kg) / Körpergröße zum Quadrat (m**2).

Er wird wie folgt interpretiert:

Starkes Untergewicht < 16
Mäßiges Untergewicht 16 – < 17
Leichtes Untergewicht 17 – < 18,5

Normalgewicht 18,5 – < 25

Präadipositas 25 – < 30

Adipositas Grad I 30 – < 35
Adipositas Grad II 35 – < 40
Adipositas Grad III ≥ 40

Man schreibe ein Programm, das die zwei Basisdaten (Körpermasse und Körpergröße) entgegennimmt und den
Zustand (Starkes Untergewicht, Mäßiges Untergewicht ... Adipositas Grad III) als Ergebnis mitteilt.

Viel Spaß!

#1
vote_ok
von guandi (230 Punkte) - 28.11.2018 um 15:40 Uhr
Quellcode ausblenden Java-Code
import java.util.Scanner;

public class MainApp {

	public static void main(String[] args) {

		Scanner myScanner = new Scanner(System.in);
		
		System.out.println("Willkommen beim BMI Rechner");
		System.out.println("Bitte gib dein Gewicht in KG ein:");
		double gewicht = myScanner.nextDouble();
		System.out.println("Bitte gib deine Größe in Meter an (Bsp 1,80):");
		double groesse = myScanner.nextDouble();
		
		double bmi = bmiRechner(groesse, gewicht);
		ausgabe(bmi);
	}

	//Ausgabe des BMI und Auswahl des passenden Namen.
	private static void ausgabe(double bmi) {		
		System.out.print("Dein BMI beträgt: " + bmi + " ");
		if(bmi <16) {
			System.out.println("Starkes Untergewicht!");
		}else if(bmi>=16 && bmi<17) {
			System.out.println("Mäßiges Untergewicht.");
		}else if(bmi>=17 && bmi<18.5) {
			System.out.println("Leichtes Untergewicht.");
		}else if(bmi>=18.5 && bmi<25) {
			System.out.println("Normalgewicht!");
		}else if(bmi>=25 && bmi<30) {
			System.out.println("Präadipositas.");
		}else if(bmi>=30 && bmi<35) {
			System.out.println("Adipositas Grad I.");
		}else if(bmi>=35 && bmi<40) {
			System.out.println("Adipositas Grad II");
		}else if(bmi>= 40) {
			System.out.println("Adipositas Grad III");
		}else {
			System.out.println("Bitte überprüfe deine Eingabe!");
		}
		
	}

	private static double bmiRechner(double groesse, double gewicht) {
		//BMI ausrechnen kg/m**2
		double bmi = gewicht / (groesse*groesse);
		//BMI auf 2 Nachkommastellen runden.
		double d = Math.pow(10, 2);
	    return Math.round(bmi * d) / d;
	}
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2091895

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.