El método nextFloat() de la clase java.util.Scanner escanea el siguiente token de la entrada como Float(). Si la traducción es exitosa, el escáner avanza más allá de la entrada que coincidió.
Sintaxis:
public float nextFloat()
Parámetros: La función no acepta ningún parámetro.
Valor devuelto: esta función devuelve el valor flotante escaneado de 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 flotante o está fuera de rango
- NoSuchElementException: si la entrada está agotada
- IllegalStateException: si este escáner está cerrado
Los siguientes programas ilustran la función anterior:
Programa 1:
// Java program to illustrate the // nextFloat() 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 Float, // print found and the Float if (scanner.hasNextFloat()) { System.out.println("Found Float value :" + scanner.nextFloat()); } // if no float is found, // print "Not Found:" and the token else { System.out.println("Not found Float() value :" + scanner.next()); } } scanner.close(); } }
Producción:
Not found Float() value :Gfg Found Float value :9.0 Not found Float() value :+ Found Float value :6.0 Not found Float() value := Found Float value :12.0
Programa 2: Para demostrar InputMismatchException
// Java program to illustrate the // nextFloat() 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 Float // print found and the Float // since the value 60 is out of range // it throws an exception System.out.println("Next Float value :" + scanner.nextFloat()); } scanner.close(); } catch (Exception e) { System.out.println("Exception thrown: " + e); } } }
Producción:
Exception thrown: java.util.InputMismatchException
Programa 3: Para demostrar NoSuchElementException
// Java program to illustrate the // nextFloat() 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 Float value // more times than the scanner // Hence it will throw exception for (int i = 0; i < 5; i++) { // if the next is a Float, // print found and the Float if (scanner.hasNextFloat()) { System.out.println("Found Float value :" + scanner.nextFloat()); } // if no Float is found, // print "Not Found:" and the token else { System.out.println("Not found Float value :" + scanner.next()); } } scanner.close(); } catch (Exception e) { System.out.println("Exception thrown: " + e); } } }
Producción:
Not found Float value :Gfg Exception thrown: java.util.NoSuchElementException
Programa 4: Para demostrar IllegalStateException
// Java program to illustrate the // nextFloat() 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 Float value"); while (scanner.hasNext()) { // if the next is a Float, // print found and the Float if (scanner.hasNextFloat()) { System.out.println("Found Float value :" + scanner.nextFloat()); } // if no Float is found, // print "Not Found:" and the token else { System.out.println("Not found Float value :" + scanner.next()); } } } catch (Exception e) { System.out.println("Exception thrown: " + e); } } }
Producción:
Scanner Closed Trying to get next Float value Exception thrown: java.lang.IllegalStateException: Scanner closed
Referencia: https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextFloat()