Java中的 Scanner hasNextBigInteger() 方法及示例
如果此扫描仪输入中的下一个标记可以假定为给定基数的 BigInteger 值,则Java.util.Scanner类的hasNextBigInteger()方法返回 true。扫描仪不会超过任何输入。如果没有基数作为参数传递,该函数会将基数解释为默认基数并相应地运行。
句法:
public boolean hasNextBigInteger(int radix)
or
public boolean hasNextBigInteger()
参数:该函数接受单个参数基数,这不是强制性的。它指定用于将标记解释为 BigInteger 值的基数。
返回值:当且仅当此扫描仪的下一个标记是默认基数中的有效 BigInteger 值时,此函数才返回 true。
异常:如果此扫描仪关闭,该函数将抛出IllegalStateException 。
下面的程序说明了上述函数:
方案一:
// 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!
方案二:
// 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: Java/util/Scanner.html#hasNextBigInteger()