Scanner hasNextInt(int) in Java

hasNextInt(int): This method is available in java.util.Scanner class of Java.

Syntax:

boolean java.util.Scanner.hasNextInt(int radix)

This method takes one argument. This method returns true if the next token in this scanner's input can be interpreted as an int value in the specified radix.

Parameters: One parameter is required for this method.

radix: the radix is used to interpret the token as an int value.

Returns: true if and only if this scanner's next token is a valid int value.

Throws:

1. IllegalStateException - if this scanner is closed.

2. IllegalArgumentException - if the radix is out of range

Approach 1: When no exception

Java

import java.util.Scanner;

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

        String source = "Hello World";
        Scanner scanner = new Scanner(source);

        int radix = Character.MIN_RADIX;
        System.out.println(scanner.hasNextInt(radix));

        scanner.close();
    }
}

Output:

false


Approach 2: IllegalStateException 

Java

import java.util.Scanner;

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

        String source = "Hello World";
        Scanner scanner = new Scanner(source);

        int radix = Character.MIN_RADIX;
        scanner.close();
        System.out.println(scanner.hasNextInt(radix));

    }
}

Output:

Exception in thread "main" java.lang.IllegalStateException: Scanner closed at java.base/java.util.Scanner.ensureOpen(Scanner.java:1150) at java.base/java.util.Scanner.hasNext(Scanner.java:1540) at java.base/java.util.Scanner.hasNextInt(Scanner.java:2158)



Approach 3: IllegalArgumentException 

Java

import java.util.Scanner;

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

        String source = "Hello World";
        Scanner scanner = new Scanner(source);

        int radix = Character.MIN_RADIX - 1;
        System.out.println(scanner.hasNextInt(radix));

        scanner.close();
    }
}

Output:

Exception in thread "main" java.lang.IllegalArgumentException: radix:1 at java.base/java.util.Scanner.setRadix(Scanner.java:1368) at java.base/java.util.Scanner.hasNextInt(Scanner.java:2157)


No comments:

Post a Comment