Search code examples
stringcompiler-errorsvariable-assignmentbigintegerdigit

How can I keep 1 million digit in Java?


My question is that, I want to multiply 2 number which has 1 million digit. When I tried to assign 1 million number to BigInteger, Compiler is giving to me error. The error is that:"constant string too long".


Solution

  • BigInteger is indeed the way to store such large integers, although hundreds or a few thousands of digits are more typical use cases. However, Java class files have limitations that won't allow hard coding a literal number that large.

    Instead, store the number in a file and read it at runtime. If the file contains a textual representation in decimal, hexadecimal, or some other base, you can read it into a String and pass it to the BigInteger constructor. If the file contains the raw bits, load it to a byte[] and use a different constructor.