This problem in general is very complicated, but when we don’t need to be 100% sure (but probability is near 1) about our results there is a very easy way to do this.
We’ll use method isProblablePrime from class BigInteger.
This method as a argument gets probability level, it’s calculated as 1 – 1/(2^x), where x is argument, so for x = 20, we can be nearly fully sure about result, the probability is 0,99999904632568359375. For smaller numbers this method gives even more sure results.
How to use it:
long x = some_value;
BigInteger bi = BigInteger.valueOf(x);
boolean isPrime = bi.isProbablePrime();
Firstly we set x to some value, then a new BigInteger is created based on x value, next we use method to check if it’s prime.
more information about BigInteger you’ll find here: http://java.sun.com/javase/6/docs/api/java/math/BigInteger.html