# <identifier> expected bei float



## Teuto (30. Oktober 2009)

Hallo,

ich habe erst vor ein paar Wochen angefangen, mit Java zu programmieren. Mein Problem ist jetzt, dass ich immer die Meldung "<identifier> expected" bekomme.

public class Ausgabe {
    public static void method(){
        int zaehler = IO.readInt();
        float length = 938,9;
        while (zaehler < length) {        
        zaeher = zaehler + 1,2;
        IO.println(zaehler);
    }
}
}

Ich hoffe, ihr könnt mir weiterhelfen


----------



## kabel2 (30. Oktober 2009)

Die Nachkommastellen werden mit einem Punkt getrennt.
So eine Zahl ist dann erstmal vom Typ double, also noch ein kleines *f* dahinter.
Google mal nach "Java float literal" 

Zur Fehlermeldung:
Da man mehrere Variablen in einer Zeile definieren kann, will der Compiler anstelle der 9 einen Identifier sehen. Identifier fangen aber nicht mit einer Ziffer an.
Richtig intelligent ist die Fehlermeldung leider nicht, aber naja, es liefert zumindest den Hinweis, wo was schief ist.

Eventuell willst Du, bevor Du Unternehmungen in Sachen Java unternimmst, ein Java Tutorial durchackern (von vorne bis hinten, und erstmal weniger mit den Sachen rumspielen).


----------



## Teuto (30. Oktober 2009)

public class Ausgabe {
    public static void method(){
        int zaehler = IO.readInt();
        float length = 938.9f;
        while (zaehler < length) {        
        zaehler = zaehler + 1.2f;                 <--------
        IO.println(zaehler);
    }
}
}

So sieht es jetzt aus.  Für diese Zeile zeigt mir BlueJ jetzt die Fehlermeldung possible loss of precision an...was ist hier falsch?


----------



## kabel2 (31. Oktober 2009)

*Possible *loss of precision? 

Google mal nach Zahlensystemen bzw. guck Dir den Wertebereich von den Typen an, die Du verwendest.
1.2f kann als Integer gar nicht dargestellt werden, da passiert dann irgendwas, vermutlich wird einfach abgeschnitten.

Und dann nochmals die Bitte, Dich mit einem Tutorial auseinanderzusetzen, und erstmal nichts auf eigene Faust zu machen.
Mich deucht, Du hättest vorher noch nie programmiert.


----------

