import java.math.BigInteger;
import java.util.Random;
public class Primetest {
private static int size=15;
private static Random r=new Random();
private static BigInteger two=new BigInteger("2");
private static BigInteger three=new BigInteger("3");
public static void main(String[] args) {
while(true)
{
BigInteger p=new BigInteger(size,r);
if(isprime(p)==true)
{
System.out.println("prime="+p);
break;
}
}
}
public static boolean isprime(BigInteger n)
{
if(n.compareTo(BigInteger.ONE)==0 || n.compareTo(two)==0)
{
return true;
}
BigInteger half=n.divide(two);
for(BigInteger i=three; i.compareTo(half)<=0;i=i.add(two))
{
if(n.mod(i).equals(BigInteger.ZERO))
{
return false;
}
}
return true;
}
}
This code selects a random prime BigInteger number. I want a 2048 bit BigInteger prime number, but it only works with 15 bit. Can anybody help me?