El método hasNextLong() de la clase java.util.Scanner devuelve verdadero si el siguiente token en la entrada de este escáner se puede asumir como un valor largo de la base dada. El escáner no avanza más allá de ninguna entrada. En caso de que no se pase base como parámetro, la función interpreta la base como base predeterminada y funciona en consecuencia.
Sintaxis:
public boolean hasNextLong(int radix) or public boolean hasNextLong()
Parámetros: La función acepta un solo parámetro base que no es obligatorio. Especifica la raíz utilizada para interpretar el token como un valor largo.
Valor devuelto: esta función devuelve verdadero si y solo si el siguiente token de este escáner es un valor largo válido en la base predeterminada.
Excepciones : la función lanza IllegalStateException si este escáner está cerrado.
Los siguientes programas ilustran la función anterior:
Programa 1:
// Java program to illustrate the // hasNextLong() 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 2 geeks!"; // new scanner with the // specified String Object Scanner scanner = new Scanner(s); // use US locale to interpret Longs in a string scanner.useLocale(Locale.US); // iterate till end while (scanner.hasNext()) { // check if the scanner's // next token is a Long with a radix 3 System.out.print("" + scanner.hasNextLong(3)); // print what is scanned System.out.print(" -> " + scanner.next() + "\n"); } // close the scanner scanner.close(); } }
false -> gfg true -> 2 false -> geeks!
Programa 2:
// Java program to illustrate the // hasNextLong() 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 2 geeks!"; // new scanner with the // specified String Object Scanner scanner = new Scanner(s); // use US locale to interpret Longs in a string scanner.useLocale(Locale.US); // iterate till end while (scanner.hasNext()) { // check if the scanner's // next token is a Long with the default radix System.out.print("" + scanner.hasNextLong()); // print what is scanned System.out.print(" -> " + scanner.next() + "\n"); } // close the scanner scanner.close(); } }
false -> gfg true -> 2 false -> geeks!
Programa 3: Programa para demostrar IllegalStateException
// Java program to illustrate the // hasNextLong() method of Scanner class in Java // Exception case import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { try { String s = "gfg 2 geeks!"; // new scanner with the // specified String Object Scanner scanner = new Scanner(s); // use US locale to interpret Longs in a string scanner.useLocale(Locale.US); scanner.close(); // iterate till end while (scanner.hasNext()) { // check if the scanner's // next token is a Long with the default radix System.out.print("" + scanner.hasNextLong()); // print what is scanned System.out.print(" -> " + scanner.next() + "\n"); } // close the scanner scanner.close(); } catch (IllegalStateException e) { System.out.println("Exception: " + e); } } }
Exception: java.lang.IllegalStateException: Scanner closed
Referencia: https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#hasNextLong()