Variablen 'else' without 'if'

comuno

Neues Mitglied
Weiß jemand wo der Fehler liegt?

package aufgabe_015;

import Tools.*;

public class Aufgabe_015 {

public static void main(String[] args) {

System.out.println("Errechnung des Body Mass Index");

char gender = IOTools.readChar("Geben Sie Ihr Geschlecht ein: ");
double gewicht = IOTools.readInteger("Geben Sie Ihr Gewicht in Kilogramm ein: ");
double größe = IOTools.readDouble("Geben Sie Ihre Größe in Metern ein: ");

if (gender == 'm');
System.out.println("HII");
else //hier sagt er: 'else' without 'if'

}

}
 
Weiß jemand wo der Fehler liegt?

package aufgabe_015;

import Tools.*;

public class Aufgabe_015 {

public static void main(String[] args) {

System.out.println("Errechnung des Body Mass Index");

char gender = IOTools.readChar("Geben Sie Ihr Geschlecht ein: ");
double gewicht = IOTools.readInteger("Geben Sie Ihr Gewicht in Kilogramm ein: ");
double größe = IOTools.readDouble("Geben Sie Ihre Größe in Metern ein: ");

if (gender == 'm');
System.out.println("HII");
else //hier sagt er: 'else' without 'if'

}

}
Das Semikolon in der Zeile if (gender == 'm'); beendet dein if-Statement.
Das bedeutet du musst dein if () mit einem { beenden, dein else mit einem } beginnen und wieder mit einem } beenden.
 
Das bedeutet du musst dein if () mit einem { beenden, dein else mit einem } beginnen und wieder mit einem } beenden.

Etwas verwirrend beschrieben 😵
Dieses hier funktioniert:
Java:
if (gender == 'm') // hier kein Semikolon!
   System.out.println("HII");
Allerdings ist das fehleranfällig, weil so nur eine Anweisung nach dem if ( ) möglich ist. Besser und in jedem Fall zu bevorzugen ist:
Code:
if (gender == 'm')
{
   System.out.println("HII");
}
Damit ist man auf der sicheren Seite.
 

Zurück
Oben