Zu große Integer für den Rapper unter den Compilern

Habe gerade den folgenden Fehler vom Java / RAPC (RIM Application Compiler) gemeldet bekommen. Ist schon irgendwie ein bisschen komisch … ich dachte, dass “8” eine nicht ganz so große Zahl ist.

rapc:
[exec] C:\...\eclipse\workspace\...\MyAwesomeClass.java:49: integer number too large: 08
[exec] private int month = 08;
[exec] ^
[exec] 1 error
[exec] Error!: Error: java compiler failed: javac -source 1.3 -target 1.3 -g -O -d C:\DOCUME~1\DEVELO~1\LOCALS~1\Temp\rapc_11afc754.dir -bootcl ...
[exec] Result: 97

Wenn man anstatt “08” eine “07” oder kleiner wählt, dann ist alles in Ordnung. Auch eine “8“, also ohne “0” geht natürlich ohne Probleme. Das ist irgendwie zu hoch für mich 🙂

Please follow and like us:

7 Replies to “Zu große Integer für den Rapper unter den Compilern”

  1. wenn du die 8 hinlegst dann ist es ja das zeichen für unendlich. ist ja klar das sowas nicht in ein integer passt :D. Sie ist aber nur kippbar wenn eine 0 vorne dran steht. 😀

    btw…java stinkt 😀

  2. Zahlen mit fuehrender 0 duerften als Oktalzahl interpretiert werden, wie es ueblicherweise ist? Du bist da der Java-Experte. 🙂

    07 ist eine gueltige Oktalzahl, 08 natuerlich nicht. Die Fehlermeldung ist dann aber irrefuehrend…

  3. Ja, hier, Java-Grundschule: http://java.sun.com/docs/books/tutorial/java/nutsandbolts/datatypes.html

    “For general-purpose programming, the decimal system is likely to be the only number system you’ll ever use. However, if you need octal or hexadecimal, the following example shows the correct syntax. The prefix 0 indicates octal, whereas 0x indicates hexadecimal.


    int decVal = 26; // The number 26, in decimal
    int octVal = 032; // The number 26, in octal
    int hexVal = 0x1a; // The number 26, in hexadecimal

  4. Hätte ich mir eigentlich denken können … dieser Oktal-krams … wer benutzt sowas eigentlich? 🙂

  5. harr, so programmiersachen sind immer total lustig. als oktal ist ja echt total wahnsinn. irgendwann hat man sicherlich auch mal eine oktale phase.

  6. Da bei uns IP-Adressen in Hex geloggt werden, bin ich komplett vom Dezimalsystem weg. Zum Glueck habe ich jetzt erstmal 0xC Tage frei…

Leave a Reply

Your email address will not be published. Required fields are marked *