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