当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Scanner nextBigInteger()用法及代码示例


java.util.Scanner类的nextBigInteger(radix)方法将输入的下一个标记作为BigInteger进行扫描。如果翻译成功,则扫描程序将前进经过匹配的输入。如果未传递参数radix,则其行为与nextBigInteger(radix)相似,其中假定基数为默认基数。

用法:

public BigInteger nextBigInteger()

参数:该函数接受参数基数,该参数基数用于BigIntegerer将令牌表示为BigInteger值。


返回值:此函数返回从输入扫描的BigInteger。

异常:该函数引发三个异常,如下所述:

  • InputMismatchException:如果下一个标记与BigIntegereger正则表达式不匹配,或者超出范围
  • NoSuchElementException:如果输入已用尽则抛出
  • IllegalStateException:如果此扫描仪关闭,则抛出

以下示例程序旨在说明上述函数:

示例1:

// Java program to illustrate the 
// nextBigInteger() 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 9 + 6 = 12.0"; 
  
        // create a new scanner 
        // with the specified String Object 
        Scanner scanner = new Scanner(s); 
  
        while (scanner.hasNext()) { 
  
            // if the next is a BigInteger, 
            // prBigInteger found and the BigInteger 
            if (scanner.hasNextBigInteger()) { 
                System.out.println("Found BigInteger value : "
                                   + scanner.nextBigInteger()); 
            } 
  
            // if no BigInteger is found, 
            // prBigInteger "Not Found:" and the token 
            else { 
                System.out.println("Not found BigInteger value : "
                                   + scanner.next()); 
            } 
        } 
        scanner.close(); 
    } 
}
输出:
Not found BigInteger value :G fg
Found BigInteger value : 9
Not found BigInteger value : +
Found BigInteger value : 6
Not found BigInteger value : =
Not found BigInteger value : 12.0

示例2:

// Java program to illustrate the 
// nextBigInteger() 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 9 + 6 = 12.0"; 
  
        // create a new scanner 
        // with the specified String Object 
        Scanner scanner = new Scanner(s); 
  
        while (scanner.hasNext()) { 
  
            // if the next is a BigInteger, 
            // prBigInteger found and the BigInteger 
            if (scanner.hasNextBigInteger()) { 
                System.out.println("Found BigInteger value : "
                                   + scanner.nextBigInteger(12)); 
            } 
  
            // if no BigInteger is found, 
            // prBigInteger "Not Found:" and the token 
            else { 
                System.out.println("Not found BigInteger value : "
                                   + scanner.next()); 
            } 
        } 
        scanner.close(); 
    } 
}
输出:
Not found BigInteger value : Gfg
Found BigInteger value : 9
Not found BigInteger value : +
Found BigInteger value : 6
Not found BigInteger value : =
Not found BigInteger value : 12.0

示例3:演示InputMismatchException

// Java program to illustrate the 
// nextBigInteger() method of Scanner class in Java 
// InputMismatchException 
  
import java.util.*; 
  
public class GFG1 { 
    public static void main(String[] argv) 
        throws Exception 
    { 
  
        try { 
  
            String s = "Gfg 9 + 6 = 12.0"; 
  
            // create a new scanner 
            // with the specified String Object 
            Scanner scanner = new Scanner(s); 
  
            while (scanner.hasNext()) { 
  
                // if the next is a BigInteger, 
                // prBigInteger found and the BigInteger 
                // since the value 60 is out of range 
                // it throws an exception 
  
                System.out.println("Next BigInteger value :"
                                   + scanner.nextBigInteger()); 
            } 
            scanner.close(); 
        } 
        catch (Exception e) { 
            System.out.println("Exception thrown: " + e); 
        } 
    } 
}
输出:
Exception thrown: java.util.InputMismatchException

示例4:演示NoSuchElementException

// Java program to illustrate the 
// nextBigInteger() method of Scanner class in Java 
// NoSuchElementException 
  
import java.util.*; 
  
public class GFG1 { 
    public static void main(String[] argv) 
        throws Exception 
    { 
  
        try { 
  
            String s = "Gfg"; 
  
            // create a new scanner 
            // with the specified String Object 
            Scanner scanner = new Scanner(s); 
  
            // Trying to get the next BigInteger value 
            // more times than the scanner 
            // Hence it will throw exception 
            for (int i = 0; i < 5; i++) { 
  
                // if the next is a BigInteger, 
                // prBigInteger found and the BigInteger 
                if (scanner.hasNextBigInteger()) { 
                    System.out.println("Found BigInteger value :"
                                       + scanner.nextBigInteger()); 
                } 
  
                // if no BigInteger is found, 
                // prBigInteger "Not Found:" and the token 
                else { 
                    System.out.println("Not found BigInteger value :"
                                       + scanner.next()); 
                } 
            } 
            scanner.close(); 
        } 
        catch (Exception e) { 
            System.out.println("Exception thrown: " + e); 
        } 
    } 
}
输出:
Not found BigInteger value :Gfg
Exception thrown: java.util.NoSuchElementException

示例5:演示IllegalStateException

// Java program to illustrate the 
// nextBigInteger() method of Scanner class in Java 
// IllegalStateException 
  
import java.util.*; 
  
public class GFG1 { 
    public static void main(String[] argv) 
        throws Exception 
    { 
  
        try { 
  
            String s = "Gfg 9 + 6 = 12.0"; 
  
            // create a new scanner 
            // with the specified String Object 
            Scanner scanner = new Scanner(s); 
  
            // close the scanner 
            scanner.close(); 
            System.out.println("Scanner Closed"); 
  
            System.out.println("Trying to get "
                               + "next BigInteger value"); 
  
            while (scanner.hasNext()) { 
  
                // if the next is a BigInteger, 
                // prBigInteger found and the BigInteger 
                if (scanner.hasNextBigInteger()) { 
                    System.out.println("Found BigInteger value :"
                                       + scanner.nextBigInteger()); 
                } 
  
                // if no BigInteger is found, 
                // prBigInteger "Not Found:" and the token 
                else { 
                    System.out.println("Not found BigInteger value :"
                                       + scanner.next()); 
                } 
            } 
        } 
        catch (Exception e) { 
            System.out.println("Exception thrown: " + e); 
        } 
    } 
}
输出:
Scanner Closed
Trying to get next BigInteger value
Exception thrown: java.lang.IllegalStateException: Scanner closed

参考: https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextBigInteger(int)



相关用法


注:本文由纯净天空筛选整理自gopaldave大神的英文原创作品 Scanner nextBigInteger() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。