Java Scanner hasNextBigInteger()方法及示例
java.util.Scanner 类的 hasNextBigInteger() 方法,如果该扫描器输入的下一个标记可以被认为是一个给定弧度的BigInteger值,则返回true。扫描器不会超过任何输入。如果没有将小数点作为参数传入,该函数将小数点解释为默认小数点,并发挥相应的作用。
语法
public boolean hasNextBigInteger(int radix)
or
public boolean hasNextBigInteger()
参数: 该函数接受一个参数radix,该参数不是强制性的。它指定了用于将令牌解释为BigInteger值的radix。
返回值: 如果且仅当该扫描器的下一个令牌是默认radix中的有效BigInteger值时,该函数返回true。
异常 :如果该扫描器被关闭,该函数会抛出IllegalStateException。下面的程序说明了上述函数:
程序1 :
// Java program to illustrate the
// hasNextBigInteger() method of Scanner class in Java
// with parameter
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
String s = "gfg 2 geeks!";
// new scanner with the
// specified String Object
Scanner scanner = new Scanner(s);
// use US locale to interpret BigIntegers in a string
scanner.useLocale(Locale.US);
// iterate till end
while (scanner.hasNext()) {
// check if the scanner's
// next token is a BigInteger with a radix 3
System.out.print("" + scanner.hasNextBigInteger(3));
// print what is scanned
System.out.print(" -> " + scanner.next() + "\n");
}
// close the scanner
scanner.close();
}
}
输出
false -> gfg
true -> 2
false -> geeks!
程序2
// Java program to illustrate the
// hasNextBigInteger() method of Scanner class in Java
// without parameter
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
String s = "gfg 2 geeks!";
// new scanner with the
// specified String Object
Scanner scanner = new Scanner(s);
// use US locale to interpret BigIntegers in a string
scanner.useLocale(Locale.US);
// iterate till end
while (scanner.hasNext()) {
// check if the scanner's
// next token is a BigInteger with the default radix
System.out.print("" + scanner.hasNextBigInteger());
// print what is scanned
System.out.print(" -> " + scanner.next() + "\n");
}
// close the scanner
scanner.close();
}
}
输出
false -> gfg
true -> 2
false -> geeks!
计划3: 展示例外情况的计划
// Java program to illustrate the
// hasNextBigInteger() method of Scanner class in Java
// Exception case
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
String s = "gfg 2 geeks!";
// new scanner with the
// specified String Object
Scanner scanner = new Scanner(s);
// use US locale to interpret BigIntegers in a string
scanner.useLocale(Locale.US);
scanner.close();
// iterate till end
while (scanner.hasNext()) {
// check if the scanner's
// next token is a BigInteger with the default radix
System.out.print("" + scanner.hasNextBigInteger());
// print what is scanned
System.out.print(" -> " + scanner.next() + "\n");
}
// close the scanner
scanner.close();
}
catch (IllegalStateException e) {
System.out.println("Exception: " + e);
}
}
}
输出
Exception: java.lang.IllegalStateException: Scanner closed
**参考资料: ** https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#hasNextBigInteger()