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