El método nextBigInteger(radix) de la clase java.util.Scanner escanea el siguiente token de la entrada como BigInteger. Si la traducción es exitosa, el escáner avanza más allá de la entrada que coincidió. Si no se pasa el parámetro radix, entonces se comporta de manera similar a nextBigInteger(radix) donde se supone que la base es la base predeterminada.
Sintaxis:
public BigInteger nextBigInteger()
Parámetros: la función acepta un parámetro radix que se usa para BigIntegererpret el token como un valor BigInteger.
Valor de retorno: esta función devuelve el BigInteger escaneado desde la entrada.
Excepciones: la función lanza tres excepciones como se describe a continuación:
- InputMismatchException: si el siguiente token no coincide con la expresión regular BigIntegereger o está fuera de rango
- NoSuchElementException: se lanza si la entrada está agotada
- IllegalStateException: se lanza si este escáner está cerrado
Los siguientes programas ilustran la función anterior:
Programa 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
Programa 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
Programa 3: Para demostrar 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
Programa 4: Para demostrar 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
Programa 5: Para demostrar 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
Referencia: https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextBigInteger(int)