entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

java.util.NoSuchElementException

Buenos días, os traigo un problema que me ha surgido al hacer una aplicación chorra...pero que no soy capaz de darle salida. La aplicación es muy simple, se ejecuta un menú por consola y mediante las opciones que vas tecleando se ejecutan otras operaciones.

El fragmento de código es el siguiente:

public static void main(String[] args) {
        guardarVinos();
        while(true)
            opcionesUsuario();
    }

    private static void opcionesUsuario() {
        Scanner teclado = new Scanner(System.in);
        System.out.println("Seleccione la operación que desea realizar:"
                + "\t\n 1-> Registro / Login"
                + "\t\n 2-> Ver Productos");
        byte opcionSeleccionada = teclado.nextByte();
        switch (opcionSeleccionada) {
            case 1:
                opcionesSubMenu();
                break;
            case 2:
                verProductos();
                break;
        }
        teclado.close();
    }
}

Me da error en el Scanner en la segunda ejecución, sé que es un bucle infinito, pero es como quiero trabajar para comprobar x variantes.

1 Respuesta

1voto

FelipeMedel Puntos450

no cierres ---> teclado.close();

import java.util.Scanner;

/**
 * @author FelipeMedel
 */
public class Preguntas {

    private static void opcionesUsuario() {
        Scanner teclado = new Scanner(System.in);
        System.out.println("Seleccione la operación que desea realizar:"
                + "\t\n 1-> Registro / Login"
                + "\t\n 2-> Ver Productos");
        byte opcionSeleccionada = teclado.nextByte();
        switch (opcionSeleccionada) {
            case 1:
                System.out.println("valor: " + opcionSeleccionada);
                break;
            case 2:
                System.out.println("valor: " + opcionSeleccionada);
                break;
            default :
                System.out.println("Otro valor: " + opcionSeleccionada);
        }
//        teclado.close();
    }

    public static void main(String[] args) {

        while(true)
            opcionesUsuario();

    }
}

Por favor, accede o regístrate para responder a esta pregunta.

¿Conoces alguien que puede responder?
¡Comparte esta pregunta!


Otras Preguntas y Respuestas


Actividad Reciente

  • ortzi ganó una medalla hace 18 horas

    Buena Pregunta - Recibió +1 votos en pregunta
  • SoCu ganó una medalla hace 20 horas

    Buena Pregunta - Recibió +1 votos en pregunta
  • FelipeMedel ganó una medalla hace 20 horas

    Renovador - Recibió medalla Buena Respuesta en res…
  • FelipeMedel ganó una medalla hace 20 horas

    Medallista - Recibió un total de 10 medallas
  • FelipeMedel ganó una medalla hace 20 horas

    Buena Respuesta - Recibió +1 votos en respuesta
  • FelipeMedel ganó una medalla hace 20 horas

    Renovador - Recibió medalla Buena Respuesta en res…
  • FelipeMedel ganó una medalla hace 20 horas

    Buena Respuesta - Recibió +1 votos en respuesta
  • SoCu ganó una medalla hace 20 horas

    Buena Pregunta - Recibió +1 votos en pregunta
...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta