0 votos
por (40 puntos) en Java
Estoy aprendiendo a programar y estoy haciendo un ejercicio en el que tengo que poder realizar varias acciones. Una de ellas es poder eliminar elementos de un ArrayList. Pero tengo que gestionar 2 errores posibles:

1. Que el dato introducido por teclado es numérico, que ya lo tengo solucionado con un try/catch.
2. Que el dato introducido por teclado aparte de ser numérico coincide con un elemento del ArrayList según el índice del mismo.

Ejemplo para que me entiendan:
Si el array tiene 4 elementos, que según el índice del ArrayList serán: 0, 1, 2, 3; aparte de confirmar que el dato introducido por teclado es numérico tiene que comprobar que coincide el número con uno del índice del ArrayList. Que no pueda introducir por ejemplo 5 o otro número. Ésto llevo escrito hasta ahora:

System.out.println(" ¿Qué cliente desea eliminar? ");
                boolean error = false;
                
                do {
                    error = false;
                    try {
                        //Hasta ahora si escribo un número pero que no coincida con la lista, da error
                                                listaClientes.remove(teclado.nextInt());
                        teclado.nextLine();
                        error = true;

                    } catch (InputMismatchException ex) {
                        System.out.println("No se puede escribir texto. Introduzca un número de los códigos de la lista. ");
                        error = false;
                    } finally {
                        teclado.nextLine();
                    }
                } while (!error);
                

Gracias por leerlo entero y si respondes doble gracias jejeje

1 Respuesta

0 votos
por (450 puntos)
Hola, te cuento que ArrayList tiene una función llamada get que te obtiene un objeto almacenado según el índice:

dato = arraylist.get(0);

para ver si tiene algo basta con que después de usar el get y antes del remove hagas este if:

dato = arraylist.get(0);

if(dato != null){

arratlist.remove(dato);

}

Espero que te sirva, Saludos.

Preguntas relacionadas

Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...