Java :: Aufgabe #212
8 Lösungen

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ß!
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ß!
Lösungen:

package bmi; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class BMI { public static double calculation(double gewicht, double groesse) { return gewicht / Math.pow(groesse / 100, 2); } public static String valuation(double input) { String output = null; if (input < 16 && input > 0) { output = "Starkes Untergewicht"; } else if (input >= 16 && input < 17) { output = "Mäßiges Untergewicht"; } else if (input >= 17 && input < 18.5) { output = "Leichtes Untergewicht"; } else if (input >= 18.5 && input < 25) { output = "Normalgewicht"; } else if (input >= 25 && input < 30) { output = "Präadipositas"; } else if (input >= 30 && input < 35) { output = "Adipositas Grad I"; } else if (input >= 35 && input < 40) { output = "Adipositas Grad II"; } else if (input >= 40) { output = "Adipositas Grad III"; } else if (input < 0) { output = "ERROR"; } return output; } public static void showUI() { JFrame frame = new JFrame(); BoxLayout layout = new BoxLayout(frame.getContentPane(), BoxLayout.PAGE_AXIS); JButton okButton = new JButton(); JTextField inputFieldGewicht = new JTextField(); JTextField inputFieldGroesse = new JTextField(); JTextField outputField = new JTextField(); JLabel gewicht = new JLabel("Gewicht:"); JLabel groesse = new JLabel("Größe:"); frame.setSize(300, 180); frame.setLayout(layout); frame.add(groesse); frame.add(inputFieldGroesse); frame.add(gewicht); frame.add(inputFieldGewicht); frame.add(okButton); frame.add(outputField); outputField.setEditable(false); okButton.setText("Bestätigen"); okButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { double output = calculation(Integer.parseInt(inputFieldGewicht.getText()), Integer.parseInt(inputFieldGroesse.getText())); outputField.setText(valuation(output)); } }); frame.setLocationRelativeTo(null); frame.setVisible(true); } public static void main(String[] args) { showUI(); } }

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; } }

package Übungen; import java.util.Scanner; public class BMI { public static void main(String[] args) { Scanner eingabe = new Scanner (System.in); System.out.println("Bitte Körpergröße in Metern eingeben: "); double körpergröße = eingabe.nextDouble(); Scanner eingabe2 = new Scanner (System.in); System.out.println("Bitte Körpermasse in kg eingeben: "); double körpermasse = eingabe2.nextDouble(); double bmi = körpermasse/ (körpergröße * körpergröße); if (bmi >= 18.5 && bmi <25) { System.out.println("Dein BMI ist " +bmi+ " du bist Normalgewichtig"); } if (bmi < 18.5 && bmi >= 17) { System.out.println("Dein BMI ist " +bmi+ " du bist leicht untergewichtig"); } if (bmi < 17 && bmi >= 16) { System.out.println("Dein BMI ist " +bmi+ " du bist mäßig untergewichtig"); } if (bmi < 16) { System.out.println("Dein BMI ist " +bmi+ " du bist stark untergewichtig"); } if (bmi >= 25 && bmi < 30) { System.out.println("Dein BMI ist " +bmi+ " du hast präadipositas"); } if (bmi >=30 && bmi < 35) { System.out.println("Dein BMI ist " +bmi+ " du hast Adipositas Grad 1"); } if (bmi >= 35 && bmi < 40) { System.out.println("Dein BMI ist " +bmi+ " du hast Adipositas Grad 2"); } if (bmi >= 40) { System.out.println("Dein BMI ist " +bmi+ " du hast Adipositas Grad 3"); } } }

import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan1 = new Scanner(System.in); System.out.println("Geben Sie Ihr Gewicht ein:"); double gewicht = scan1.nextDouble(); Scanner scan2 = new Scanner(System.in); System.out.println("Wie groß sind Sie ? (Bsp.: 1,98)"); double groesse = scan2.nextDouble(); double bmi = gewicht / (groesse * groesse); if (bmi < 16) { System.out.println("Starkes Untergewicht"); } else if (bmi >= 16.0 && bmi < 17.0) { System.out.println("Mäßiges Untergewicht"); } else if (bmi >= 17.0 && bmi < 18.5) { System.out.println("Leichtes Untergeweicht"); } else if (bmi >= 18.5 && bmi < 25.0) { System.out.println("Normalgewicht"); } else if (bmi >= 25.0 && bmi < 30.0) { System.out.println("Präadipositas"); } else if (bmi >= 30.0 && bmi < 35.0) { System.out.println("Adipositas Grad I"); } else if (bmi >= 35.0 && bmi < 40.0) { System.out.println("Adipositas Grad II"); } else if (bmi >= 40.0) { System.out.println("Adipositas Grad III"); } } }
Möchte vorher anmerken, dass ich noch wirklich ein Anfänger im Programmieren bin.
Java-Code

/** * Die Klasse kann mithilfe von Parametern ihren BMI berechnen und ihnen sagen wie ihr momentaner Gewichtszustand ist. * * @author (nOrdan (Nils Jordan)) * @version (11.02.2019) */ public class BMIRechner { /** * Konstruktor für Objekte der Klasse BMIRechner */ public BMIRechner() { } /** * Mit dieser Methode kann man seinen BMI ausrechnen und man bekommt seinen Gewichtszustand mitgeteilt. Geben sie bitte ihre Körpermasse (in kg) und ihre Körpergröße (in m) an. */ public void bmiRechner(double koerpermasse, double koerpergroesse) { System.out.print('\u000C'); // BMI ausrechnen und auf zwei Nachkommastellen runden. double bmi = koerpermasse / (koerpergroesse * koerpergroesse); bmi = (Math.round(100.0 * bmi)) / 100; //BMI Ausgabe und den zum BMI passenden Gewichtszustand if (bmi < 16) { System.out.println("Ihr BMI beträgt " + bmi + ". Ihr Gewichtszustand entspricht starkem Untergewicht."); } else if (bmi >= 16 && bmi < 17) { System.out.println("Ihr BMI beträgt " + bmi + ". Ihr Gewichtszustand entspricht mäßigem Untergewicht."); } else if (bmi >= 17 && bmi < 18.5) { System.out.println("Ihr BMI beträgt " + bmi + ". Ihr Gewichtszustand entspricht leichtem Untergewicht."); } else if (bmi >= 18.5 && bmi < 25) { System.out.println("Ihr BMI beträgt " + bmi + ". Ihr Gewichtszustand entspricht dem Normalgewicht."); } else if (bmi >= 25 && bmi < 30) { System.out.println("Ihr BMI beträgt " + bmi + ". Ihr Gewichtszustand entspricht Präadipositas."); } else if (bmi >= 30 && bmi < 35) { System.out.println("Ihr BMI beträgt " + bmi + ". Ihr Gewichtszustand entspricht Adipositas Grad I."); } else if (bmi >= 35 && bmi < 40) { System.out.println("Ihr BMI beträgt " + bmi + ". Ihr Gewichtszustand entspricht Adipositas Grad II."); } else if (bmi >= 40) { System.out.println("Ihr BMI beträgt " + bmi + ". Ihr Gewichtszustand entspricht Adipositas Grad III."); } else { System.out.println ("Ihre Werte sind nicht sinvoll und ergeben einen ungültigen BMI-Wert."); } } }

public static void main(String[] args) { Scanner scn = new Scanner(System.in); System.out.print("Größe in m: "); double height= scn.nextDouble(); System.out.print("Gewicht in kg: "); double weight= scn.nextDouble(); double bmi= weight / (height*height); System.out.print(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("Fehler! Bitte überprüfen Sie ihre Eingaben noch einmal"); } }

import java.util.Scanner; public class Main { public static void main(String[] args) { double koerpermasse; // in kg double koerpergroesse; // in m zum quadat double bmi; Scanner scan = new Scanner(System.in); System.out.println("Gewicht eingeben: "); koerpermasse = scan.nextDouble(); System.out.println("Größe eingeben: "); koerpergroesse = scan.nextDouble(); bmi = Math.round((koerpermasse / (koerpergroesse * koerpergroesse)) * 10d) / 10d; if (bmi < 16) { System.out.println("BMI ist " + bmi + " (starkes Untergewicht)."); } else if (bmi == 16 || bmi < 17) { System.out.println("BMI ist " + bmi + " (mäßiges Untergewicht)."); } else if (bmi == 17 || bmi < 18.5) { System.out.println("BMI ist " + bmi + " (leichted Untergewicht)."); } else if (bmi == 18.5 || bmi < 25) { System.out.println("BMI ist " + bmi + " (Normalgewicht)."); } else if (bmi == 25 || bmi < 30) { System.out.println("BMI ist " + bmi + " (Präadipositas)."); } else if (bmi == 30 || bmi < 35) { System.out.println("BMI ist " + bmi + " (Adipositas Grad I)."); } else if (bmi == 35 || bmi < 40) { System.out.println("BMI ist " + bmi + " (Adipositas Grad II)."); } else { System.out.println("BMI ist " + bmi + " (Adipositas Grad III)."); } scan.close(); } }

import java.util.Scanner; class Scratch { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Gib dein Gewicht an:"); double gewicht = scanner.nextDouble(); System.out.println("Gib deine Größe (in Meter) ein: "); double groeße = scanner.nextDouble(); double bmi = gewicht / Math.pow(groeße, 2)*100; bmi = Math.round(bmi ); bmi = bmi /100; String[] bmiArray = {"Starkes Untergewicht", "Mäßiges Untergewicht", "Leichtes Untergewicht ", "Normalgewicht", "Präadipositas", "Adipositas Grad I", "Adipositas Grad II", "Adipositas Grad III"}; if (bmi <= 16) { System.out.println("Dein BMI liegt bei: " + bmi + " " + bmiArray[0]); } else if (bmi > 16 && bmi <= 17) { System.out.println("Dein BMI liegt bei: " + bmi + " " + bmiArray[1]); } else if (bmi > 17 && bmi < 18.5) { System.out.println("Dein BMI liegt bei: " + bmi + " " + bmiArray[2]); } else if (bmi >= 18.5 && bmi < 25) { System.out.println("Dein BMI liegt bei: " + bmi + " " + bmiArray[3]); } else if (bmi >= 25 && bmi < 30) { System.out.println("Dein BMI liegt bei: " + bmi + " " + bmiArray[4]); } else if (bmi >= 30 && bmi < 35) { System.out.println("Dein BMI liegt bei: " + bmi + " " + bmiArray[5]); } else if (bmi >= 35 && bmi < 40) { System.out.println("Dein BMI liegt bei: " + bmi + " " + bmiArray[6]); } else if (bmi >= 40) { System.out.println("Dein BMI liegt bei: " + bmi + " " + bmiArray[7]); } } }