Kann mir jemand sagen, warum kann ich nicht array so erklären?deklariert long [] Array in Java
long[] powers = { 0, 0, 1, 7, 35, 155, 651, 2667, 10795, 43435,
174251, 698027, 2794155, 11180715, 44731051, 178940587,
715795115, 2863245995, 11453115051, 45812722347, 183251413675,
733006703275, 2932028910251, 11728119835307, 46912487729835,
187649967696555, 750599904340651, 3002399684471467};
Compiler sagt, dass das Literal des Typs int außerhalb des Bereichs liegt. Ich habe auch versucht es wie dieses
long[] powers = { 0, 0, 1, 7, 35, 155, 651, 2667, 10795, 43435,
174251, 698027, 2794155, 11180715, 44731051, 178940587,
715795115, (long)2863245995, (long)11453115051, (long)45812722347, etc ...
zu lange zu werfen, aber nichts änderte auch versucht someting wie diese Long.valueOf(x)
wo x Nummer whitch Compiler hat Problem mit.
Irgendwelche Ideen?
Vielen Dank im Voraus
fügen Sie ein L an Ihre Nummern an. Ie: 2863245995L und so weiter. –
Danke funktioniert perfekt. – Yetti
Das Schlüsselprinzip ist, dass der Typ und der Wert eines Java-Ausdrucks unabhängig davon ist, wie er verwendet wird. 11453115051 ist ein übergroßes int-Literal, unabhängig vom nachfolgenden Casting oder dem langen Initializer []. –