Estoy tratando de comparar si el valor de un BigInteger (base) es> el valor de otro BigInteger (principal) y si el valor de 'a' no es igual a uno. Si el valor de a no es 1, debería salir del ciclo. ¿Cómo debería compararlos?¿Cómo comparo los valores de BigInteger para usarlos como condición en un ciclo?
Random ran = new Random();
BigInteger prime = new BigInteger(16,ran);
BigInteger base,a,one;
one = new BigInteger("1");
for (int i = 0; i < 65535; i++){
while (base>prime){
base = new BigInteger(16,ran);
}
a = base.modPow(prime.subtract(one),prime);
System.out.println("a: "+a);
if (a != one){
break;
}
}
Parece que se necesita tanto compareTo y es igual. Vea aquí: "... y si el valor de 'a' no es igual a uno. Si el valor de a no es 1, debería salir del ciclo". Además, su código muestra una verificación de la igualdad entre el nuevo BigInteger que hizo llamado "uno" y el otro valor calculado "a". Perdón por el enlace obsoleto. –
Bastante, me perdí el bit 'if (a! = One)'. –