Open In App

Scanner hasNextBigDecimal() method in Java with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

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

Syntax:

public boolean hasNextBigDecimal()

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 BigDecimal.

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

Below programs illustrate the above function:

Program 1:




// Java program to illustrate the
// hasNextBigDecimal() 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 BigDecimals in a string
        scanner.useLocale(Locale.US);
  
        // iterate till end
        while (scanner.hasNext()) {
  
            // check if the scanner's
            // next token is a BigDecimal with the default radix
            System.out.print("" + scanner.hasNextBigDecimal());
  
            // 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
// hasNextBigDecimal() 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 BigDecimals in a string
            scanner.useLocale(Locale.US);
  
            scanner.close();
  
            // iterate till end
            while (scanner.hasNext()) {
  
                // check if the scanner's
                // next token is a BigDecimal with the default radix
                System.out.print("" + scanner.hasNextBigDecimal());
  
                // 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#hasNextBigDecimal()



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