1

Meine Frage ist, dass ich 2 Zahl multiplizieren möchte, die 1 Million Ziffer hat. Als ich dem BigInteger 1 Million Nummer zuweisen wollte, gibt mir der Compiler einen Fehler. Der Fehler ist: "Konstante Zeichenfolge zu lang".Wie kann ich 1 Million Stellen in Java behalten?

+0

hilft das? https://StackOverflow.com/Questions/12088436/what-does-biginteger-having-no-limit-mean –

+0

Sie haben eine 1 Million Ziffer langen String, der eine Zahl darstellt? Was für eine Art von Berechnung machst du? Ich scheine in der Lage zu sein, eine BigInteger-Instanz mit einer Million Ziffern zu erstellen. – Renato

Antwort

3

BigInteger ist in der Tat die Möglichkeit, so große Ganzzahlen zu speichern, obwohl Hunderte oder ein paar tausend Ziffern typische Anwendungsfälle sind. Java-Klassendateien weisen jedoch Einschränkungen auf, die es nicht erlauben, eine so große Literalzahl hart zu codieren.

Speichern Sie die Nummer stattdessen in einer Datei und lesen Sie sie zur Laufzeit. Wenn die Datei eine Textdarstellung in dezimal, hexadezimal enthält, oder eine andere Basis, können Sie read it into a String und übergeben es an the BigInteger constructor. Wenn die Datei, um den Roh-Bits enthält, load it to a byte[] und verwenden ein different constructor.