Java BigInteger nextProbablePrime()方法及示例
java.math.BigInteger .nextProbablePrime()是用来寻找比这个BigInteger大的第一个可能是素数的整数。如果这个方法返回’p’,那么在这个Biginteger和’p’之间就没有素数’q’(这个< q < p ),也就是说,它永远不会跳过任何大于BigInteger的素数来调用这个方法。
语法
public BigInteger nextProbablePrime()
参数: 该方法不接受任何参数。
返回: 该方法返回一个Biginteger,该Biginteger是大于该BigInteger的第一个整数,可能是质数。
异常: 这个数字必须是非负数,并且不能太大,否则会产生算术异常。
下面的程序说明了BigInteger类的NextProbablePrime()方法
例1:
// Java program to demonstrate
// nextProbablePrime() method of BigInteger
import java.math.BigInteger;
public class GFG {
public static void main(String[] args)
{
// BigInteger object to store the result
BigInteger result;
// For user input
// Use Scanner or BufferedReader
// object of String created
// Holds the value to find next prime number
String input1 = "1516132";
// Creating BigInteger object
BigInteger a
= new BigInteger(input1);
// Using nextProbablePrime()
result = a.nextProbablePrime();
// Print result
System.out.println("The next probable"
+ " Prime number is "
+ result);
}
}
输出。
The next probable Prime number is 1516153
例2:打印所有低于100的素数
// Java program to demonstrate
// nextProbablePrime() method of BigInteger
import java.math.BigInteger;
public class GFG {
public static void main(String[] args)
{
// BigInteger object to store the result
BigInteger result;
// Creating BigInteger objects
BigInteger a;
// Printing all prime numbers
// Below 100
for (int i = 0; i < 100😉 {
a = new BigInteger(
Integer.toString(i));
// Using nextProbablePrime()
result = a.nextProbablePrime();
// Print the answer
if (Integer.parseInt(
result.toString())
< 100) {
System.out.print(result + " ");
}
i = Integer.parseInt(
result.toString());
}
}
}
输出。
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
例3: 当值为负数时程序显示异常。
// Java program to demonstrate
// nextProbablePrime() method of BigInteger
import java.math.BigInteger;
public class GFG {
public static void main(String[] args)
{
// BigInteger object to store the result
BigInteger result;
// For user input
// Use Scanner or BufferedReader
// object of String created
// Holds the value to find prime number
String input1 = "-5";
// Creating BigInteger objects
BigInteger a
= new BigInteger(input1);
try {
// Using nextProbablePrime()
result = a.nextProbablePrime();
}
catch (ArithmeticException e) {
System.out.println(e);
}
}
}
输出。
java.lang.ArithmeticException: start < 0: -5
要了解检查当前BigInteger是否为素数,请访问Java中的isProbablePrime()方法页面。
**参考资料: **https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/math/BigInteger.html#nextProbablePrime()