Método Scanner nextLong() en Java con ejemplos

El método nextLong(radix) de la clase java.util.Scanner escanea el siguiente token de la entrada como un largo. Si la traducción es exitosa, el escáner avanza más allá de la entrada que coincidió. Si no se pasa el parámetro radix, entonces se comporta de manera similar a nextLong(radix) donde se supone que la base es la base predeterminada.

Sintaxis:

public long nextLong()

Parámetros: la función acepta un parámetro radix que se utiliza para interpretar el token como un valor largo.

Valor de retorno: esta función devuelve el largo escaneado de la entrada.

Excepciones: la función lanza tres excepciones como se describe a continuación:

  • InputMismatchException: si el siguiente token no coincide con la expresión regular Integer o está fuera de rango
  • NoSuchElementException: se lanza si la entrada está agotada
  • IllegalStateException: se lanza si este escáner está cerrado

Los siguientes programas ilustran la función anterior:

Programa 1:

// 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();
    }
}
Producción:

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

Programa 2:

// 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();
    }
}
Producción:

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

Programa 3: Para demostrar InputMismatchException

// 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);
        }
    }
}
Producción:

Exception thrown: java.util.InputMismatchException

Programa 4: Para demostrar NoSuchElementException

// 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);
        }
    }
}
Producción:

Not found Long value :Gfg
Exception thrown: java.util.NoSuchElementException

Programa 5: Para demostrar IllegalStateException

// 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);
        }
    }
}
Producción:

Scanner Closed
Trying to get next Long value
Exception thrown: java.lang.IllegalStateException: Scanner closed

Referencia: https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextLong(int)

Publicación traducida automáticamente

Artículo escrito por gopaldave y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *