Scanner nextInt() method in Java with Examples - GeeksforGeeks

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:
// Java program to illustrate the// nextInt() 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 Int,            // print found and the Int            if (scanner.hasNextInt()) {                System.out.println("Found Int value :"                                   + scanner.nextInt());            }              // if no Int is found,            // print "Not Found:" and the token            else {                System.out.println("Not found Int value :"                                   + scanner.next());            }        }        scanner.close();    }}
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:
// Java program to illustrate the// nextInt() method of Scanner class in Java// with 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 Int,            // print found and the Int            if (scanner.hasNextInt()) {                System.out.println("Found Int value :"                                   + scanner.nextInt(12));            }              // if no Int is found,            // print "Not Found:" and the token            else {                System.out.println("Not found Int value :"                                   + scanner.next());            }        }        scanner.close();    }}
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
// Java program to illustrate the// nextInt() 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 Int,                // print found and the Int                // since the value 60 is out of range                // it throws an exception                  System.out.println("Next Int value :"                                   + scanner.nextInt());            }            scanner.close();        }        catch (Exception e) {            System.out.println("Exception thrown: " + e);        }    }}
Exception thrown: java.util.InputMismatchException

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

Program 5: To demonstrate IllegalStateException
// Java program to illustrate the// nextInt() 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 Int value");              while (scanner.hasNext()) {                  // if the next is a Int,                // print found and the Int                if (scanner.hasNextInt()) {                    System.out.println("Found Int value :"                                       + scanner.nextInt());                }                  // if no Int is found,                // print "Not Found:" and the token                else {                    System.out.println("Not found Int value :"                                       + scanner.next());                }            }        }        catch (Exception e) {            System.out.println("Exception thrown: " + e);        }    }}
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)
Java - util package
Java-Functions
Java-Library
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Object Oriented Programming (OOPs) Concept in Java
HashMap in Java with Examples
Stream In Java
Interfaces in Java
How to iterate any Map in Java
ArrayList in Java
Initialize an ArrayList in Java
Stack Class in Java
Singleton Class in Java
Multidimensional Arrays in Java