Java Scanner hasNextDouble() Method



Description

The Java Scanner hasNextDouble() method returns true if the next token in this scanner's input can be interpreted as a double value using the nextDouble() method. The scanner does not advance past any input.

Declaration

Following is the declaration for java.util.Scanner.hasNextDouble() method

public boolean hasNextDouble()

Parameters

NA

Return Value

This method returns true if and only if this scanner's next token is a valid double value

Exception

IllegalStateException − if this scanner is closed

Checking Next Token as Double Using Scanner on a String Example

The following example shows the usage of Java Scanner hasNextDouble() method to check if next token is a Double. We've created a scanner object using a given string. Then we checked each token to be Double and printed. In the end scanner is closed using close() method.

package com.tutorialspoint;

import java.util.Scanner;

public class ScannerDemo {
   public static void main(String[] args) {

      String s = "Hello World! 3 + 3.0 = 6";

      // create a new scanner with the specified String Object
      Scanner scanner = new Scanner(s);

      while (scanner.hasNext()) {
         
         // check if the scanner's next token is a Double
         if(scanner.hasNextDouble()){
            // print what is scanned
            System.out.println(scanner.next());		 
         } else {
            scanner.next();
         }
      }

      // close the scanner
      scanner.close();
   }
}

Output

Let us compile and run the above program, this will produce the following result −

3
3.0
6

Checking Next Token as Double Using Scanner on User Input Example

The following example shows the usage of Java Scanner hasNextDouble() method to check if next token is a Double. We've created a scanner object using System.in class. Then we checked each token to be Double and printed. In the end scanner is closed using close() method.

package com.tutorialspoint;

import java.util.Scanner;

public class ScannerDemo {
   public static void main(String[] args) {

      // create a new scanner with System Input
      Scanner scanner = new Scanner(System.in);
         
      // check if the scanner's next token is a Double
      if(scanner.hasNextDouble()){
         // print what is scanned
         System.out.println(scanner.next());		 
      } else {
         scanner.next();
      }

      // close the scanner
      scanner.close();
   }
}

Output

Let us compile and run the above program, this will produce the following result − (where we've entered 3.0.)

3.0
3.0

Checking Next Token as Double Using Scanner In a Properties File Example

The following example shows the usage of Java Scanner hasNextDouble() method to check if next token is a Double. We've created a scanner object using a file properties.txt. Then we checked each token to be Double and printed. In the end scanner is closed using close() method.

package com.tutorialspoint;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ScannerDemo {
   public static void main(String[] args) throws FileNotFoundException {

      // create a new scanner with a file as input
      Scanner scanner = new Scanner(new File("properties.txt"));
         
      while (scanner.hasNext()) {
         
         // check if the scanner's next token is a Double
         if(scanner.hasNextDouble()){
            // print what is scanned
            System.out.println(scanner.next());		 
         } else {
            scanner.next();
         }
      }

      // close the scanner
      scanner.close();
   }
}

Assuming we have a file properties.txt available in your CLASSPATH, with the following content. This file will be used as an input for our example program −

Hello World! 3 3.0 6

Output

Let us compile and run the above program, this will produce the following result −

3
3.0
6
java_util_scanner.htm
Advertisements