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);