The nextFloat() method of java.util.Scanner class scans the next token of the input as a Float(). If the translation is successful, the scanner advances past the input that matched.
Syntax:
public float nextFloat()
Parameters: The function does not accepts any parameter.
Return Value: This function returns the Float scanned from the input.
Exceptions: The function throws three exceptions as described below:
- InputMismatchException: if the next token does not matches the Float regular expression, or is out of range
- NoSuchElementException: if input is exhausted
- IllegalStateException: if this scanner is closed
Below programs illustrate the above function:
Program 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();     } } |
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
Program 2: To demonstrate 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);         }     } } |
Exception thrown: java.util.InputMismatchException
Program 3: To demonstrate 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);         }     } } |
Not found Float value :Gfg Exception thrown: java.util.NoSuchElementException
Program 4: To demonstrate 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);         }     } } |
Scanner Closed Trying to get next Float value Exception thrown: java.lang.IllegalStateException: Scanner closed
Reference: https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextFloat()