Gunnar Bittersmann: Toter Button

Beitrag lesen

@@Mainzel:

nuqneH

if (bmi >= 18 && bmi <= 20) {output += "Sie sind Untergewichtig.";}
   if (bmi >= 20 && bmi < 25) {output += "Ihr Gewicht ist gut, ein BMI von 22 ist optimal.";}

Aha, bei einem BMI von 20 ist man also untergewichtig, aber das ist gut.

if (bmi >= 25 && bmi <= 29) {output += "Sie sind etwas zu dick.";}
   if (bmi >= 30 && bmi <= 39) {output += "Sie sind stark Übergewichtig.";}

Bei einem BMI von 29.5 ist man gar nichts.

if (bmi >= 30 && bmi <= 39) {output += "Eine ärztliche Behandlung aufgrund ihres Übergewichts ist zu empfehlen.";}

Warum zwei Fallunterscheidungen für denselben Fall?

if (bmi >= 60) {output += "Entweder sind sie extrem UEbergewichtig oder die Eingabe ist fehlerhaft.";}

Auch bei 39 < bmi < 60 fällt man durchs Raster.

Bist du sicher, dass du bei den Intervallgrenzen sorgfältig gearbeitet hast?

Es wird wohl nur jeweils einer der Fälle eintreten. Deshalb ist es sinnlos, bei einer erfüllten Bedingung noch alle nachfolgenden zu prüfen. Die nachfolgenden Bedingungen gehören also jeweils in den else-Zweig:

if (bmi < 12) {}  
else if (bmi < 18) {}  
else if (bmi < 20) {}  
else if (bmi < 25) {}  
else if (bmi < 30) {}  
else if (bmi < 60) {}  
else {}

Qapla'

--
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)