ich möchte ein Java Programm zu Errechnung des BMIs (body-mass Index) erstellen.
BMI = m / l²,
wobei m in kg und l in Meter anzugeben sind. Im Programm soll der Name und das Geschlecht der Person erfragt werden. Bei weiblichen Personen sollte der Index zwischen 19 und 24, bei männlichen Personen zwischen 20 und 25 liegen. Die Ausgabe soll neben dem Namen und dem errechneten BMI noch einen freundlichen Kommentar beim Überschreiten des Index umfassen.
ich bin Anfängerin in Java und habe mich daran mal versucht, nur leider klappt es nicht, ich poste hier mal meinen Versuch und bin für jede Hilfe dankbar.
Code:
public class BMI
{
public static void main(String[] args)
{
System.out.print("Nachname: ");
String nachName = IOUtils.readString();
System.out.print("Geschlecht (m/w): ");
char geschl = IOUtils.readChar();
double BMI = Weight / ((Size / 100.0) * (Size / 100.0));
if (geschl == 'w')
if (BMI < 19)
{
System.out.printIn("Sie haben möglicherweise Untergewicht.");
}
else if (BMI > 24)
{
System.out.printIn("Sie haben möglicherweise Übergewicht.");
}
else
{
System.out.printIn("Sie haben Normalgewicht.");
}
if (geschl == 'm')
if (BMI < 20)
{
System.out.printIn("Sie haben möglicherweise Untergewicht.");
}
else if (BMI > 25)
{
System.out.printIn("Sie haben möglicherweise Übergewicht.");
}
else
{
System.out.printIn("Sie haben Normalgewicht.");
}
}
}
Hi, fangen wir am besten mal oben an, wo hast du denn Weight und Size her, werden die irgendwo eingelesen bzw. zugewiesen. Nebenbei schreibt man Variablen eigentlich klein. Wenn du das Geschlecht in String umwandeln würdest, könntest du es einfacher einlesen (finde ich zumindest), musst dann allerdings auch deine if-Schleife ändern und mit equals vergleichen.
Einlesen also am besten mit
Code:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Nachname: ");
String nachName = in.readLine();
System.out.print("Geschlecht (m/w): ");
String geschl = in.readLine();
dann müsstest du halt nur noch size und weight irgendwo angeben oder einlesen und es würde funktionieren
printIn gibt es nicht; es heißt println (kleines 'l' statt großer 'I')
Einlesen von weight & size fehlt (wenn wir mal dabei sind: Variablen schreibt man klein)
Die if-Blöcke für 'm' und 'w' gehören in '{' '}' Klammern.