Hallo liebe Leut ich bin das erste mal hier und hoffe ich mache alles richtig!
Mein Problem besteht darin das ich die falschenbuchstaben irgendwie nicht auslesen kann ;( M oder W funktioniert einwandfrei!
Die genaue Berechnung für den BMI der Frauen stimmt natürlich nicht aber das war mir auch nicht wichtig ich bedanke mich schon mal im voraus!
Mein Problem besteht darin das ich die falschenbuchstaben irgendwie nicht auslesen kann ;( M oder W funktioniert einwandfrei!
Java:
do {
while (true) {
try {
Eingabe3 = JOptionPane.showInputDialog("Geschlecht" + "\n"
+ "M" + " " + "für" + " " + "Männlich" + "\n" + "W"
+ " " + "für" + " " + "Weiblich");
if (Eingabe3 == null)
System.exit(0);
else if (Eingabe3.length() > 1)
JOptionPane.showMessageDialog(null,
"Nur ein Zeichen eingeben !");
else if (Eingabe3.equals("M"))
Geschlecht = "Männlich";
else if (Eingabe3.equals("W"))
Geschlecht = "Weiblich";
break;
} catch (Exception e) {
System.out.println("Das war kein Geschlecht!");
JOptionPane.showMessageDialog(null,
"Das war kein Geschlecht!");
}
}
if (falscheBuchstaben(Eingabe3)) {
falscheBuchstaben = true;
}
else {
System.out.println("Kann nicht sein");
JOptionPane
.showMessageDialog(null, "Kann " + " nicht " + "sein");
}
} while (falscheBuchstaben == false);
if (Geschlecht.equals("Männlich"))
BMI = Gewicht / (Größe * Größe);
if (Geschlecht.equals("Weiblich"))
BMI = Gewicht / (Größe * Größe) + 2;
if (BMI < 18.5)
Ergebnis = "Sie sind Zu dünn Sie sind";
if (BMI < 23.5)
Ergebnis = "Sie sind Normal Sie sind";
if (BMI < 28)
Ergebnis = "Sie haben Übergewicht Sie sind";
if (BMI > 28)
Ergebnis = "Sie sind Viel zu dick Sie sind";
System.out.println(Ergebnis + "\n" + Geschlecht + "\n" + "BMI" + " "
+ "=" + " " + BMI);
JOptionPane.showMessageDialog(null, Ergebnis + "\n" + Geschlecht + "\n"
+ "BMI" + " " + "=" + " " + BMI);
}
private static boolean falscheBuchstaben(String Eingabe3) {
if (Eingabe3.equals("M")) {
return true;
}
if (Eingabe3.equals("W")) {
return true;
}
String[] falscheBuchstaben = { "a", "b", "c", "d", "e", "f", "g", "h",
"i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z" };
for (int i = 0; i < falscheBuchstaben.length; i++) {
if (falscheBuchstaben[i] == Eingabe3) {
return false;
}
}
return true;
}