K
Knuspi
Gast
Hallo,
bin noch recht Anfaenger in dem Gebiet des "Programmierens"..
Hab jetzt als Hausaufgabe, ein Programm zu schreiben, dass den BMI berechnet und bewertet.
Meine Frage:
Bei der Ausgabe wird jetzt immer mehrmals ein Ergebnis der Bewertung ausgegeben -> ichs sehe aber nicht dass mehrere Bedingungen richtig sind..?
Könnt ihr mir helfen, wie ich das verbessern kann?
Danke im Vorraus
Liebe Grüße
bin noch recht Anfaenger in dem Gebiet des "Programmierens"..
Hab jetzt als Hausaufgabe, ein Programm zu schreiben, dass den BMI berechnet und bewertet.
Java:
public class BMI {
public static void main(String[] args) {
//Aufgabenstellung:
// Nach Eingabe von Körpergröße und Gewicht wird der Body-Mass-Index berechnet und eine entsprechende Bewertung ausgegeben.
double gewicht, koerpergroesse, bmi;
int geschlecht, alter;
geschlecht=Console.readInt("Wenn Sie weiblich sind druecken Sie eine Zahl die kleiner oder gleich 10 ist auf Ihrer Tastatur, falls Sie männlich sind druecken Sie bitte die eine Zahl über 10. ");
alter = Console.readInt("Geben Sie Ihr Alter ein! ");
gewicht=Console.readDouble("Geben Sie Ihr Koerpergewicht in Kilogramm (kg) an! ");
koerpergroesse = Console.readDouble("Geben Sie Ihre Koerpergroesse in Metern (m) an! (Verwenden sie den Punkt als Komma) ");
bmi=(gewicht/(koerpergroesse*koerpergroesse));
System.out.println("Ihr BMI beträgt " + bmi );
if((geschlecht<=10)&&(alter<=24)); {
if(bmi<=18){
System.out.println("Sie sind untergewichtig! ");
}
else {
if((bmi>18)&&(bmi<25))
System.out.println("Sie haben Normalgewicht. " );
if(bmi>28)
System.out.println("Sie sind leicht bis stark uebergewichtig. " );
}
}
if((geschlecht<=10)&&(alter>=25)&&(alter<=34)); {
if(bmi<=19){
System.out.println("Sie sind untergewichtig! ");
}
else {
if((bmi>19)&&(bmi<=24))
System.out.println("Sie haben Normalgewicht. " );
if(bmi>25)
System.out.println("Sie sind leicht bis stark uebergewichtig. " );
}
}
if((geschlecht<=10)&&(alter>=35)&&(alter<=44)); {
if(bmi<=20){
System.out.println("Sie sind untergewichtig! ");
}
else {
if((bmi>20)&&(bmi<=26))
System.out.println("Sie haben Normalgewicht. " );
if(bmi>27)
System.out.println("Sie sind leicht bis stark uebergewichtig. " );
}
}
if((geschlecht<=10)&&(alter>=45)&&(alter<=54)); {
if(bmi<=21){
System.out.println("Sie sind untergewichtig! ");
}
else {
if((bmi>21)&&(bmi<=27))
System.out.println("Sie haben Normalgewicht. " );
if(bmi>28)
System.out.println("Sie sind leicht bis stark uebergewichtig. " );
}
}
if((geschlecht<=10)&&(alter>=55)&&(alter<=64)); {
if(bmi<=22){
System.out.println("Sie sind untergewichtig! ");
}
else {
if((bmi>22)&&(bmi<=28))
System.out.println("Sie haben Normalgewicht. " );
if(bmi>29)
System.out.println("Sie sind leicht bis stark uebergewichtig. " );
}
}
if((geschlecht<=10)&&(alter>=65)&&(alter<=90)); {
if(bmi<=23){
System.out.println("Sie sind untergewichtig! ");
}
else {
if((bmi>23)&&(bmi<=29))
System.out.println("Sie haben Normalgewicht. " );
if(bmi>30)
System.out.println("Sie sind leicht bis stark uebergewichtig. " );
}
}
if((geschlecht>10)&&(alter<=24)); {
if(bmi<=18){
System.out.println("Sie sind untergewichtig! ");
}
else {
if((bmi>20)&&(bmi<25))
System.out.println("Sie haben Normalgewicht. " );
if(bmi>26)
System.out.println("Sie sind leicht bis stark uebergewichtig. " );
}
}
if((geschlecht>10)&&(alter>=25)&&(alter<=34)); {
if(bmi<=20){
System.out.println("Sie sind untergewichtig! ");
}
else {
if((bmi>20)&&(bmi<=26))
System.out.println("Sie haben Normalgewicht. " );
if(bmi>26)
System.out.println("Sie sind leicht bis stark uebergewichtig. " );
}
}
if((geschlecht>10)&&(alter>=35)&&(alter<=44)); {
if(bmi<=21){
System.out.println("Sie sind untergewichtig! ");
}
else {
if((bmi>21)&&(bmi<=27))
System.out.println("Sie haben Normalgewicht. " );
if(bmi>27)
System.out.println("Sie sind leicht bis stark uebergewichtig. " );
}
}
if((geschlecht>10)&&(alter>=45)&&(alter<=54)); {
if(bmi<=22){
System.out.println("Sie sind untergewichtig! ");
}
else {
if((bmi>22)&&(bmi<=28))
System.out.println("Sie haben Normalgewicht. " );
if(bmi>33)
System.out.println("Sie sind leicht bis stark uebergewichtig. " );
}
}
if((geschlecht>10)&&(alter>=55)&&(alter<=64)); {
if(bmi<=23){
System.out.println("Sie sind untergewichtig! ");
}
else {
if((bmi>23)&&(bmi<=29))
System.out.println("Sie haben Normalgewicht. " );
if(bmi>29)
System.out.println("Sie sind leicht bis stark uebergewichtig. " );
}
}
if((geschlecht>10)&&(alter>=65)&&(alter<=90)); {
if(bmi<=24){
System.out.println("Sie sind untergewichtig! ");
}
else {
if((bmi>24)&&(bmi<=30))
System.out.println("Sie haben Normalgewicht. " );
if(bmi>34)
System.out.println("Sie sind leicht bis stark uebergewichtig. " );
}
}
} // end of main
} // end of class BMI
Bei der Ausgabe wird jetzt immer mehrmals ein Ergebnis der Bewertung ausgegeben -> ichs sehe aber nicht dass mehrere Bedingungen richtig sind..?
Könnt ihr mir helfen, wie ich das verbessern kann?
Danke im Vorraus
Liebe Grüße
Zuletzt bearbeitet von einem Moderator: