java.util.Scanner.nextBigInteger() 方法用于将输入的下一个标记扫描为 BigInteger。如果下一个标记与上面定义的 Integer 正则表达式匹配,则该标记将转换为 BigInteger 值,就像删除所有组分隔符、通过 Character.digit 将非 ASCII 数字映射为 ASCII 数字,并将结果字符串传递给 BigInteger 一样(String, int) 具有指定基数的构造函数。
语法
public BigInteger nextBigInteger(int radix)
参数
基数 | 指定用于解释标记的基数。 |
返回值
返回从输入扫描的 BigInteger .
异常
- 如果下一个标记与 BigInteger 正则表达式不匹配或超出范围,则抛出 InputMismatchException。
- 如果输入已用尽,则抛出 NoSuchElementException。
- 如果此扫描器关闭,则抛出 IllegalStateException。
示例:
在下面的示例中,java.util.Scanner.nextBigInteger()方法用于扫描输入的下一个标记作为一个大整数。
import java.util.*;
public class MyClass {
public static void main(String[] args) {
//要扫描的字符串
String MyString = "Hello World 10 + 20 = 30.0";
//创建扫描仪
Scanner MyScan = new Scanner(MyString);
while(MyScan.hasNext()) {
//如果下一个是 BigInteger
//打印基数为16的BigInteger
if(MyScan.hasNextBigInteger(16))
System.out.println("BigInteger value is: "+ MyScan.nextBigInteger(16));
//如果下一个不是 BigInteger
else
System.out.println("No BigInteger Value found: "+ MyScan.next());
}
//关闭扫描仪
MyScan.close();
}
}
上述代码的输出将是:
No BigInteger Value found: Hello
No BigInteger Value found: World
BigInteger value is: 16
No BigInteger Value found: +
BigInteger value is: 32
No BigInteger Value found: =
No BigInteger Value found: 30.0