The nextShort(radix) method of java.util.Scanner class scans the next token of the input as a short. 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 nextShort(radix) where the radix is assumed to be the default radix.
Syntax:
public short nextShort()
Parameters: The function accepts a parameter radix which is used to interpret the token as a short value.
Return Value: This function returns the short 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
// Java program to illustrate the // nextShort() 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 short, // print found and the short if (scanner.hasNextShort()) { System.out.println( "Found Short value :" + scanner.nextShort()); } // if no short is found, // print "Not Found:" and the token else { System.out.println( "Not found short value :" + scanner.next()); } } scanner.close(); } } |
Not found short value :Gfg Found Short value :9 Not found short value :+ Found Short value :6 Not found short value := Not found short value :12.0
Program 2:
Java
// Java program to illustrate the // nextShort() 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 short, // print found and the short if (scanner.hasNextShort()) { System.out.println( "Found Short value :" + scanner.nextShort( 12 )); } // if no short is found, // print "Not Found:" and the token else { System.out.println( "Not found short value :" + scanner.next()); } } scanner.close(); } } |
Not found short value :Gfg Found Short value :9 Not found short value :+ Found Short value :6 Not found short value := Not found short value :12.0
Program 3: To demonstrate InputMismatchException
Java
// Java program to illustrate the // nextShort() 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 short, // print found and the short // since the value 60 is out of range // it throws an exception System.out.println( "Next Short value :" + scanner.nextShort()); } scanner.close(); } catch (Exception e) { System.out.println( "Exception thrown: " + e); } } } |
Exception thrown: java.util.InputMismatchException
Program 4: To demonstrate NoSuchElementException
Java
// Java program to illustrate the // nextShort() 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 short value // more times than the scanner // Hence it will throw exception for ( int i = 0 ; i < 5 ; i++) { // if the next is a short, // print found and the short if (scanner.hasNextShort()) { System.out.println( "Found Short value :" + scanner.nextShort()); } // if no short is found, // print "Not Found:" and the token else { System.out.println( "Not found short value :" + scanner.next()); } } scanner.close(); } catch (Exception e) { System.out.println( "Exception thrown: " + e); } } } |
Not found short value :Gfg Exception thrown: java.util.NoSuchElementException
Program 5: To demonstrate IllegalStateException
Java
// Java program to illustrate the // nextShort() 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 Short value" ); while (scanner.hasNext()) { // if the next is a short, // print found and the short if (scanner.hasNextShort()) { System.out.println( "Found Short value :" + scanner.nextShort()); } // if no short is found, // print "Not Found:" and the token else { System.out.println( "Not found short value :" + scanner.next()); } } } catch (Exception e) { System.out.println( "Exception thrown: " + e); } } } |
Scanner Closed Trying to get next Short value Exception thrown: java.lang.IllegalStateException: Scanner closed
Reference: https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextShort()