09 wird nicht erkannt, wo 9 erkannt wird [duplizieren]

8

Ich verwende Quarz zum Scheduling.

%Vor%

es akzeptieren 5 Parameter. (Sekunden, Minuten, Stunden, TageMonat, Monat).

Wenn ich den vierten Parameter als "09" übergebe. Eclipse gib mir einen Fehler "Das wörtliche Oktal 09 (Ziffer 9) vom Typ int ist außerhalb des Bereichs".

Aber wenn ich den vierten Parameter als "9" anstelle von "09" übergebe, funktioniert es.

Kann mir jemand diesen Fehler erklären?

    
Shashi 09.06.2009, 13:20
quelle

5 Antworten

32

Wenn Sie in Java eine Ganzzahl definieren, bedeutet eine führende '0', dass Sie eine Zahl in oktaler Form definieren

%Vor%     
James Van Huis 14.03.2012, 18:44
quelle
20

Es gibt keine 9 in Octal (was du mit einer vorhergehenden 0 bekommst). Nur 0-7.

    
Eric 09.06.2009 13:22
quelle
13

Wenn Sie einer Zahl mit 0 ("09" statt "9") voranstellen, interpretiert Java (und C und viele andere Sprachen) die Zahl in oktal - base-8.

"09" ist keine gültige Zahl in Oktal - jede einzelne Ziffer kann ein Maximum von "7" sein (da in Oktal Zahlen von 0..7 gehen).

    
poundifdef 09.06.2009 13:23
quelle
11

Zahlen, die mit der Ziffer Null beginnen, werden als oktale (Basis 8) Literale behandelt, und 9 ist keine gültige Oktalziffer.

    
anon 09.06.2009 13:22
quelle
3

10 gibt an, wie viele Ziffern Sie haben, während 010 das ist, was Sie erhalten, wenn Sie Ihre Daumen nicht zählen.

    
JustJeff 09.06.2009 16:35
quelle

Tags und Links