java 求解大于Long.MAX_VALUE的五个素数。。。

为什么运行没有结果啊!!!等着交作业呢。。。求一个简化的程序。。。至少能让我算出数字啊!!!或者大神帮我找一下错误啊。。。跪求啊!!!!

import java.math.*;

public abstract class FindFivePrime{
    public static void main(String[] args){
        BigDecimal i = new BigDecimal(Long.MAX_VALUE);
        for(int j = 0; j < 5; i = i.add(BigDecimal.ONE)){
            boolean check = isPrime(i);
            if(check){
                j++;
                System.out.println(i + " ");
            }
        }
    }

    public static boolean isPrime(BigDecimal n){

        if (n == new BigDecimal("2"))  
            return true; 
        BigDecimal i = new BigDecimal("2");
        int check = i.compareTo(BigSquareRoot.sqrt(n));
        for ( ;check != 1; i = i.add(BigDecimal.ONE)){  
            if (n.remainder(i) == new BigDecimal("0"))   
                return false; 
        }
        return true; 

    }
}

请问你的问题解决了么,我碰到和你一样的问题!

BigSquareRoot.这个有问题的