Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: ervillesGr en 30 de Diciembre 2016, 12:24
-
Hola chic@s, estoy aprendiendo Java y estoy un poco atrancado en un error. Tengo un ArrayList que creo a través del teclado. La duda que tengo es a la hora de eliminar del ArrayList. Borro elementos según el índice de los elementos. Tengo ya verificado que se escriban número y no letras con un try/catch pero no doy con la forma de verificar que el número introducido coincida con uno de los del índice del ArrayList, que al ser creado a través del teclado es variable. Si escribo un número que no sea del índice, por ejemplo 4 y solo tengo 2 elementos da error.
Dejo la parte del código por aquí:
} else if (accion.equalsIgnoreCase("eliminar cliente")) {
//mostramos los clientes que hay en la lista
pintarClientes(listaClientes);
System.out.println(" ¿Qué cliente desea eliminar? ");
boolean error = false;
do {
error = false;
try {
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);
//mostramos los clientes que quedan en la lista
pintarClientes(listaClientes);
De antemano, muchas gracias!
-
Hola ervillesGr.
Lo primero recomendarte que leas las reglas básicas para escribir consultas en el foro, ahí encontrarás como colocar código en tus mensajes bien formateado entre otras cosas.
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.msg7784#msg7784
En cuanto a tu duda, podrías añadir otro bloque catch para recoger otra excepción.
catch (IndexOutOfBoundsException e) {
System.out.println("El índice indicado no existe.");
}
En estos dos enlaces hay dos cursos de java.
https://www.aprenderaprogramar.es/index.php?option=com_content&view=category&id=68&Itemid=188
https://www.aprenderaprogramar.es/index.php?option=com_content&view=category&id=58&Itemid=180
Saludos. ;D