Dandy Dandy - 2 months ago 18
Java Question

BigInteger not increasing?

For some reason my

val
variable isn't increasing within the while-loop. Any reason as to why it's not doing so?
val.add(BigInteger.ONE);


import java.math.*;

public static void main(String[] args) {

/* Variables */
BigInteger PQ = new BigInteger("17");
BigInteger E = new BigInteger("7");

BigInteger val = new BigInteger("2");

/* Find the PRIME factors of PQ */
while (PQ.compareTo(BigInteger.ONE) == 1) { // while the first value is greater
if (PQ.mod(val).equals(BigInteger.ZERO)) {
System.out.print(val + " ");
} else {
val.add(BigInteger.ONE);
}
}
}

Answer

val.add(BigInteger.ONE) returns a new value. You do not assign it to anything:

val = val.add(BigInteger.ONE);

Class BigInteger