Open In App

Scanner hasNextDouble() method in Java with Examples

Last Updated : 16 Oct, 2018
Improve
Improve
Like Article
Like
Save
Share
Report

The hasNextDouble() method of java.util.Scanner class returns true if the next token in this scanner’s input can be interpreted as a Double using the nextDouble() method. The scanner does not advance past any input.

Syntax:

public Double hasNextDouble()

Parameters: The function does not accepts any parameter.

Return Value: This function returns true if and only if this scanner’s next token is a valid Double.

Exceptions: The function throws IllegalStateException if this scanner is closed.

Below programs illustrate the above function:

Program 1:




// Java program to illustrate the
// hasNextDouble() 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 Doubles in a string
        scanner.useLocale(Locale.US);
  
        // iterate till end
        while (scanner.hasNext()) {
  
            // check if the scanner's
            // next token is a Double with the default radix
            System.out.print("" + scanner.hasNextDouble());
  
            // print what is scanned
            System.out.print(" -> " + scanner.next() + "\n");
        }
  
        // close the scanner
        scanner.close();
    }
}


Output:

false -> gfg
true -> 2
false -> geeks!

Program 2: Program to demonstrate exception




// Java program to illustrate the
// hasNextDouble() 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 Doubles in a string
            scanner.useLocale(Locale.US);
  
            scanner.close();
  
            // iterate till end
            while (scanner.hasNext()) {
  
                // check if the scanner's
                // next token is a Double with the default radix
                System.out.print("" + scanner.hasNextDouble());
  
                // print what is scanned
                System.out.print(" -> " + scanner.next() + "\n");
            }
  
            // close the scanner
            scanner.close();
        }
        catch (IllegalStateException e) {
            System.out.println("Exception: " + e);
        }
    }
}


Output:

Exception: java.lang.IllegalStateException: Scanner closed

Reference: https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#hasNextDouble()



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads