2016-04-19 7 views
-1

Warum wird der Wert nicht so wie der eingegebene Wert gedruckt? Ändern führende Nullen die Art, wie eine ganze Zahl gelesen wird?Führende Nullen im Integer-Array, die zu unterschiedlichen Werten führen, die gedruckt werden

Integer[] secondArray = {02,03,04,05,06,011,012,012,0123}; 

System.out.println("values:" + Arrays.toString(secondArray)); 

Output: 2, 3, 4, 5, 6, 9, 10, 10, 83

+0

Was ist '011' in Octal? Also, ja, eine führende "0" hat eine Bedeutung. – KevinO

Antwort

3

Eine Null in einem ganzzahligen Literal in Java führende (und vielen anderen Sprachen) bedeutet ein Oktal Nummer (Basis 8).

Also 011 ist neun.

Andere Systeme, die Sie verwenden können, sind hex (0x09, Basis 16) und binär (0b1001, seit Java7).

1

Ganzzahlen mit führender 0 als oktale (Basis 8) Zahl behandelt. Die Umwandlung geht wie folgt

Octal    Decimal 
06   ->  6 
07   ->  7 
08 (Not a valid octal number) 
09 (Not a valid octal number) 
010  ->  8 
011  ->  9 
012  ->  10 

und so weiter

Verwandte Themen