Open In App
Related Articles

Scanner nextDouble() method in Java with Examples

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report
The nextDouble() method of java.util.Scanner class scans the next token of the input as a Double. If the translation is successful, the scanner advances past the input that matched. Syntax:
public double nextDouble()
Parameters: The function does not accepts any parameter. Return Value: This function returns the Double scanned from the input. Exceptions: The function throws three exceptions as described below:
  • InputMismatchException: if the next token does not matches the Double regular expression, or is out of range
  • NoSuchElementException: throws if input is exhausted
  • IllegalStateException: throws if this scanner is closed
Below programs illustrate the above function: Program 1:
// Java program to illustrate the
// nextDouble() 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 Double,
            // print found and the Double
            if (scanner.hasNextDouble()) {
                System.out.println("Found Double value :"
                                   + scanner.nextDouble());
            }
  
            // if no Double is found,
            // print "Not Found:" and the token
            else {
                System.out.println("Not found Double() value :"
                                   + scanner.next());
            }
        }
        scanner.close();
    }
}

                    
Output:
Not found Double() value :Gfg
Found Double value :9.0
Not found Double() value :+
Found Double value :6.0
Not found Double() value :=
Found Double value :12.0
Program 2: To demonstrate InputMismatchException
// Java program to illustrate the
// nextDouble() 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 Double
                // print found and the Double
                // since the value 60 is out of range
                // it throws an exception
  
                System.out.println("Next Double value :"
                                   + scanner.nextDouble());
            }
            scanner.close();
        }
        catch (Exception e) {
            System.out.println("Exception thrown: " + e);
        }
    }
}

                    
Output:
Exception thrown: java.util.InputMismatchException
Program 3: To demonstrate NoSuchElementException
// Java program to illustrate the
// nextDouble() 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 Double value
            // more times than the scanner
            // Hence it will throw exception
            for (int i = 0; i < 5; i++) {
  
                // if the next is a Double,
                // print found and the Double
                if (scanner.hasNextDouble()) {
                    System.out.println("Found Double value :"
                                       + scanner.nextDouble());
                }
  
                // if no Double is found,
                // print "Not Found:" and the token
                else {
                    System.out.println("Not found Double value :"
                                       + scanner.next());
                }
            }
            scanner.close();
        }
        catch (Exception e) {
            System.out.println("Exception thrown: " + e);
        }
    }
}

                    
Output:
Not found Double value :Gfg
Exception thrown: java.util.NoSuchElementException
Program 4: To demonstrate IllegalStateException
// Java program to illustrate the
// nextDouble() 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 Double value");
  
            while (scanner.hasNext()) {
  
                // if the next is a Double,
                // print found and the Double
                if (scanner.hasNextDouble()) {
                    System.out.println("Found Double value :"
                                       + scanner.nextDouble());
                }
  
                // if no Double is found,
                // print "Not Found:" and the token
                else {
                    System.out.println("Not found Double value :"
                                       + scanner.next());
                }
            }
        }
        catch (Exception e) {
            System.out.println("Exception thrown: " + e);
        }
    }
}

                    
Output:
Scanner Closed
Trying to get next Double value
Exception thrown: java.lang.IllegalStateException: Scanner closed
Reference: https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextDouble()

Last Updated : 12 Oct, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads