我想比较一个BigInteger(base)的值是否>另一个BigInteger(prime)的值,如果'a'的值不等于1。如果a的值不是1,它应该跳出循环。我应该如何比较它们?如何比较BigInteger的值作为循环中的条件?
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;
}
}
看起来他既需要的compareTo和equals。看到这里:“...如果'a'的值不等于1,如果a的值不是1,它应该跳出循环。”此外,他的代码显示了他所称的“one”与另一个计算值“a”之间的新BigInteger之间的等同性检查。对不起,过时的链接。 – 2011-06-01 22:21:15
够公平的,我错过了“if(a!= one)”位。 – 2011-06-01 22:26:38