Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: ervillesGr en 30 de Diciembre 2016, 12:24

Título: Eliminar de ArrayList Java, verificando el dato introducido captura errores try
Publicado 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í:

Código: [Seleccionar]
} 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!
Título: Re:Eliminar de ArrayList Java, verificando el dato introducido
Publicado por: pedro,, en 30 de Diciembre 2016, 12:55
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.
Código: [Seleccionar]
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