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

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ß!

#2
2 Kommentare
vote_ok
von Bufkin (1410 Punkte) - 26.11.2018 um 14:12 Uhr
Quellcode ausblenden Java-Code
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();
	}
}

Kommentare:

soufianaz

Punkte: 0



3 Kommentare

#1
19.01.2022 um 20:19 Uhr
hab ein foto hochgeladen könntest du mir dabei helfen
post_arrow
721 0

Bufkin

Punkte: 1410


45 Lösungen
5 Kommentare

#2
22.01.2022 um 10:50 Uhr
bei was soll ich dir helfen?
post_arrow
723 0
Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
1800997

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.