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