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