Java 如何使素性检验接受大数

Java 如何使素性检验接受大数,java,primality-test,Java,Primality Test,我有一个用于素性测试的代码,它可以接受多达10位的整数,但我想扩展它,使代码可以接受200位以上的整数。我应该在代码中切换什么 import java.util.*; import java.math.*; class CheckPrimeTest { static boolean checkPrime(long n) { // Corner case if (n <= 1) return false; /

我有一个用于素性测试的代码,它可以接受多达10位的整数,但我想扩展它,使代码可以接受200位以上的整数。我应该在代码中切换什么

import java.util.*; 
import java.math.*; 

class CheckPrimeTest { 

    static boolean checkPrime(long n) 
    { 
        // Corner case 
        if (n <= 1) return false; 

        // Check from 2 to n-1 
        for (int i = 2; i < n; i++) 
            if (n % i == 0) 
                return false; 

        return true; 
    } 

    // Driver Program  
    public static void main(String args[]) 

                         throws java.lang.Exception 
    { 
 Scanner input = new Scanner(System.in);
  System.out.print("Enter an integer: ");
        long n = input.nextInt();  

       System.out.println(checkPrime(n)); 

    } 
} 

如果您的数字太大,无法使用整数和长整数,则必须使用已为您定义isProbablePrime方法的整数和长整数:

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    BigInteger integer = new BigInteger(scanner.nextLine());
    System.out.println(integer.isProbablePrime(1));
}
可能重复的