📜  Java中的 Scanner hasNextBigInteger() 方法及示例

📅  最后修改于: 2022-05-13 01:55:23.907000             🧑  作者: Mango

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()