Sensei: required: class found: value

Greez!

Bin JAVA-Anfänger, bitte helft's mir hierbei:

Beim compilieren erhalte ich immer den Fehler:

Hammin.java:49: unexpected type
required: class
found   : value
   else (laengesoll != laengewort)
                    ^

Ich habe im Programm zuerst einige Variablen definiert, u.a. auch

short laengesoll = 0;
String wort1 = null;
boolean spezError = false;

Dann später durch einen readShort() Befehl die Länge von laengesoll neu eingelesen und mit wort1 = readWord (); das 1. Wort eingelesen.

Das Programm soll jetzt die Länge, die in laengesoll eingegeben wird mit der Länge, die sich aus dem String wort1 ergibt vergleichen -> sie sollen gleich lang sein.

Dazu habe ich mit
   int laengewort = wort1.length();
eine neue Variable definiert, die die Länge von wort1 einliest und dann mit dem Befehl
   if (laengewort != laengesoll);
       spezError = true;
die Variable für eine Fehlermeldung gesetzt.

Beim compilieren kommt mir dann wie gesagt der Fehler (s.o.)...!

Bitte um Hilfe, was mach ich falsch?, Tobias

  1. Hallo,

    Bin JAVA-Anfänger, bitte helft's mir hierbei:

    Beim compilieren erhalte ich immer den Fehler:

    Hammin.java:49: unexpected type
    required: class
    found   : value
       else (laengesoll != laengewort)

    Ja, nach else kann keine Bedingung stehen, höchstens else if (Bedingung)                 ^

    Ich habe im Programm zuerst einige Variablen definiert, u.a. auch

    short laengesoll = 0;
    String wort1 = null;
    boolean spezError = false;

    Dann später durch einen readShort() Befehl die Länge von laengesoll neu eingelesen und mit wort1 = readWord (); das 1. Wort eingelesen.

    Das Programm soll jetzt die Länge, die in laengesoll eingegeben wird mit der Länge, die sich aus dem String wort1 ergibt vergleichen -> sie sollen gleich lang sein.

    Dazu habe ich mit
       int laengewort = wort1.length();
    eine neue Variable definiert, die die Länge von wort1 einliest und dann mit dem Befehl
       if (laengewort != laengesoll);

    Hier steht nun wieder if(Bedingung) im Gegensatz zur Fehlermeldung. Trotzdem ist laengewort von Typ int und laengesoll vom Typ short. Warum eigentlich? Sollte der Fehler hier liegen, probiers mal mit casting von short nach int:
    if (laengewort != (int)laengesoll);

    Gruß

    Axel