El método hasNextBigDecimal() de la clase java.util.Scanner devuelve verdadero si el siguiente token en la entrada de este escáner se puede interpretar como un BigDecimal usando el método nextBigDecimal(). El escáner no avanza más allá de ninguna entrada.
Sintaxis:
public boolean hasNextBigDecimal()
Parámetros: La función no acepta ningún parámetro.
Valor de retorno: esta función devuelve verdadero si y solo si el próximo token de este escáner es un BigDecimal válido.
Excepciones : la función lanza IllegalStateException si este escáner está cerrado.
Los siguientes programas ilustran la función anterior:
Programa 1:
// Java program to illustrate the // hasNextBigDecimal() 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 BigDecimals in a string scanner.useLocale(Locale.US); // iterate till end while (scanner.hasNext()) { // check if the scanner's // next token is a BigDecimal with the default radix System.out.print("" + scanner.hasNextBigDecimal()); // print what is scanned System.out.print(" -> " + scanner.next() + "\n"); } // close the scanner scanner.close(); } }
Producción:
false -> gfg true -> 2 false -> geeks!
Programa 2: Programa para demostrar la excepción
// Java program to illustrate the // hasNextBigDecimal() 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 BigDecimals in a string scanner.useLocale(Locale.US); scanner.close(); // iterate till end while (scanner.hasNext()) { // check if the scanner's // next token is a BigDecimal with the default radix System.out.print("" + scanner.hasNextBigDecimal()); // print what is scanned System.out.print(" -> " + scanner.next() + "\n"); } // close the scanner scanner.close(); } catch (IllegalStateException e) { System.out.println("Exception: " + e); } } }
Producción:
Exception: java.lang.IllegalStateException: Scanner closed
Referencia: https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#hasNextBigDecimal()