Scanner nextInt() method in Java with Examples
Last Updated :
12 Oct, 2018
The nextInt(radix) method of java.util.Scanner class scans the next token of the input as a Int. If the translation is successful, the scanner advances past the input that matched. If the parameter radix is not passed, then it behaves similarly as nextInt(radix) where the radix is assumed to be the default radix.
Syntax:
public int nextInt()
Parameters: The function accepts a parameter radix which is used to interpret the token as a Int value.
Return Value: This function returns the Int scanned from the input.
Exceptions: The function throws three exceptions as described below:
- InputMismatchException: if the next token does not matches the Integer 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:
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
String s = "Gfg 9 + 6 = 12.0" ;
Scanner scanner = new Scanner(s);
while (scanner.hasNext()) {
if (scanner.hasNextInt()) {
System.out.println( "Found Int value :"
+ scanner.nextInt());
}
else {
System.out.println( "Not found Int value :"
+ scanner.next());
}
}
scanner.close();
}
}
|
Output:
Not found Int value :Gfg
Found Int value :9
Not found Int value :+
Found Int value :6
Not found Int value :=
Not found Int value :12.0
Program 2:
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
String s = "Gfg 9 + 6 = 12.0" ;
Scanner scanner = new Scanner(s);
while (scanner.hasNext()) {
if (scanner.hasNextInt()) {
System.out.println( "Found Int value :"
+ scanner.nextInt( 12 ));
}
else {
System.out.println( "Not found Int value :"
+ scanner.next());
}
}
scanner.close();
}
}
|
Output:
Not found Int value :Gfg
Found Int value :9
Not found Int value :+
Found Int value :6
Not found Int value :=
Not found Int value :12.0
Program 3: To demonstrate InputMismatchException
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
String s = "Gfg 9 + 6 = 12.0" ;
Scanner scanner = new Scanner(s);
while (scanner.hasNext()) {
System.out.println( "Next Int value :"
+ scanner.nextInt());
}
scanner.close();
}
catch (Exception e) {
System.out.println( "Exception thrown: " + e);
}
}
}
|
Output:
Exception thrown: java.util.InputMismatchException
Program 4: To demonstrate NoSuchElementException
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
String s = "Gfg" ;
Scanner scanner = new Scanner(s);
for ( int i = 0 ; i < 5 ; i++) {
if (scanner.hasNextInt()) {
System.out.println( "Found Int value :"
+ scanner.nextInt());
}
else {
System.out.println( "Not found Int value :"
+ scanner.next());
}
}
scanner.close();
}
catch (Exception e) {
System.out.println( "Exception thrown: " + e);
}
}
}
|
Output:
Not found Int value :Gfg
Exception thrown: java.util.NoSuchElementException
Program 5: To demonstrate IllegalStateException
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
String s = "Gfg 9 + 6 = 12.0" ;
Scanner scanner = new Scanner(s);
scanner.close();
System.out.println( "Scanner Closed" );
System.out.println( "Trying to get "
+ "next Int value" );
while (scanner.hasNext()) {
if (scanner.hasNextInt()) {
System.out.println( "Found Int value :"
+ scanner.nextInt());
}
else {
System.out.println( "Not found Int value :"
+ scanner.next());
}
}
}
catch (Exception e) {
System.out.println( "Exception thrown: " + e);
}
}
}
|
Output:
Scanner Closed
Trying to get next Int value
Exception thrown: java.lang.IllegalStateException: Scanner closed
Reference: https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextInt(int)
Share your thoughts in the comments
Please Login to comment...