Curso Java. Volumen XIV: Ejercicio de repaso

Curso Java. Volumen XIV: Ejercicio de repaso

Adrián Crespo

A pesar de ser verano, seguimos adelantes en RedesZone con el curso de Java. En los volúmenes anteriores hemos estado tratando los Arrays y su utilización acompañado de ejemplos. Centrándonos en el volumen anterior, hablamos de los Arrays multimensionales (es decir, matrices) y los ArrayList.  Como pudimos observar estos tienen ventajas con repecto a los Arrays.  También os propusimos un ejercicios que tenía como base  un ejemplo de Arrays.

En este volumen os vamos a resolver el ejercicios que os propusimos  y también os plantearemos un ejercicio de repaso. El ejercicio abarcará tanto Arrays como ArrayList, pasando también por clases simple o la utilización de un método main. Asi que sin tardar más, vamos a meternos con el temario del volumen

Vamos a comenzar resolviendo el problema que os planteamos en el volumen anterior. Se trataba de un lista de personas que debia de implementarse con un ArrayList de Persona, y teníamos que hacer un metodo que buscará si una persona se encontraba en la lista o no.

A continuación, la solución en código:

Como podéis observar, la solución es muy parecida a los Arrays, lo unico que cambia es el método que nos da el tamaño de la lista, el que nos inserta los elementos en la lista y la manera de acceder a cada elemento de la lista, que lo hacemos con el get(indice). También es ligeramente distinto la manera en que declaramos el ArrayList con respecto al Array. Como ya sabemos al Array habia que especificarle un tamaño. Sin embargo al ArrayList no es necesario y cuando se llegue este se llene (que nosotros no lo sabremos), Java internamente aumentara automaticamente la capacidad de este.

Como habíamos dicho, vamos a proponeros un ejercicio.

  • Primera Parte

Deseamos implementar una clase Coche. La clase Coche tendrá como atributos la matrícula del coche, el nombre del dueño, y el número de bastidor. Ahora no nos valdrá para nada, pero decir que el número de bastidor de un coche es único, por lo tanto, no hay dos coches con el mismo número de bastidor. Clase Coche tendrá como métodos un constructor, al que se le pasará la matrícula, el nombre del propietario, y el número de bastidor. También tendrá tres métodos que retornarán  respectivamente la matrícula, el nombre del dueño y el bastidor.

  • Segunda Parte

Somos los dueños de una aseguradora y queremos llevar de manera organizada toda la cartera de coches que tenemos asegurados. Por lo tanto para ello deberemos utilizar o un Array o un ArrayList. En una clase separada que llamaremos por ejemplo ListaCoches, tendremos como atributos un lista de coches. Como métodos, tendremos un constructor, y dos métodos más:

  • insertaCoche: se le pasa como parámetro un Coche y el método se encarga de insertarle en la lista. Antes de insertarle el método deberá recorrer la lista y comprobar que el número de bastidor no ha sido ya insertado. Si es así, retornamos un booleano (false). En caso negativo, procedemos a la insercción y retornamos true.
  • buscaVehiculos: se le pasará el nombre del propietario y ,mostrará por pantalla el número de vehículos que tiene cada dueño y el número de bastidor de cada vehículo por lo tanto, será necesario un recorrido de la lista.

Se trata de un ejercicio de mayor complejidad que el resto que hemos hecho. En cualquier caso, se tenéis alguna duda lo podéis comentar y se os ayudará

En el siguiente volumen se os dará de forma detallada y explicada las dos soluciones, tanto la de Arrays como la de ArrayList.