Skip to content

Retos

< volver a actividades

Empaquetar retos

Empaqueta las actividades, dentro de la carpeta ut07, en la carpeta retos.

Las actividades programadas en esta sección Retos no son obligatorias.

Reto 01

Diseñar la clase Varios con los siguientes métodos estáticos que se harán apoyándose en alguna clase de colecciones estudiadas en esta unidad:

  1. int[] quitarDuplicados (int[] v), que dado un array de enteros devuelva otro array con los mismos valores que el original pero sin duplicados.
  2. int[] union1(int[] v1, int[] v2), que dados dos arrays v1 y v2 devuelva otro array con los elementos que están en v1 o que están en v2, sin que ningún elemento se repita.
  3. int[] union2(int v1[], int v2[]), que dados dos arrays v1 y v2 devuelva otro array con los elementos que están en v1 o que están en v2. En este caso, sí hay elementos duplicados se mantendrán.
  4. int[] interseccion(int v1[], int v2[]), que dados dos arrays v1 y v2 devuelva otro array con los elementos que aparecen en los dos arrays. Cada elemento común aparecerá una sola vez en el resultado.
  5. int[] diferencia1 (int v1[], int v2[]), que dados dos arrays v1 y v2 devuelva otro array con los elementos de v1 que no están en v2. En caso de haber elementos duplicados en v1 estos se mantendrán en el resultado.
  6. int[] diferencia2 (int v1[], int v2[]), que dados dos arrays v1 y v2 devuelva otro array con los elementos de v1 que no están en v2. El array resultante no tendrá elementos duplicados.

Reto 02

Paquete: _R02_biblioteca

Se quiere hacer una aplicación en la que los usuarios van a hacer búsquedas de libros para saber si se encuentran en los fondos de la biblioteca. El funcionamiento básico sería algo así: Al iniciarse la aplicación todo el catálogo de libros se cargaría en memoria y a partir de ese momento los usuarios pueden realizar búsquedas por título, que interesa que sean lo más rápidas posibles. Nunca se insertan nuevos libros durante la ejecución de la aplicación.

a) Diseña la clase Libro con los métodos que consideres oportunos y los siguientes atributos:

  • titulo (String): es el dato que identifica al libro.
  • autor (String): autor del libro.
  • estanteria (String): estantería de la biblioteca en la que se encuentra el libro.

b) Diseña la clase CatalogoLibros como una colección de libros. Utiliza el tipo de colección que crees que más se ajusta a los requisitos de la aplicación justificando la elección. Implementa los siguients métodos:

  • public CatalogoLibros(Libro v[]): constructor. Para simplificar, inicializa el catálogo y lo rellena con los libros del array v, en lugar de obtenerlos de un fichero.

  • public String buscar(Libro l): dado un libro, lo busca en el Catálogo y devuelve la estantería en la que se encuentra el libro o null si el libro no está en el Catálogo.


Reto 03

Realizar las siguientes actividades relacionadas con ArrayList.

  1. Crear un ArrayList de enteros llamado misNumeros.
  2. Añadir los valores 1, 6, 3, 2, 0, 4, 5.
  3. Mostrar los datos del ArrayList.
  4. Mostrar el valor de la posición 5.
  5. Añadir el valor 8 en la posición 4.
  6. Cambiar el valor de la posición 1 por 9.
  7. Eliminar el valor 5. (misNumeros.remove(new Integer(5)) )
  8. Eliminar el valor de la posición 3.
  9. Recorrer el array con un bucle for.
  10. Recorrer el array con un bucle Iterator.
  11. Comprobar si existe el elemento 0.
  12. Comprobar si existe el elemento 7.
  13. Clonar el ArrayList misNumeros en otro llamado copiaArrayList.
  14. Añadir el elemento 9.
  15. Mostrar la posición de la primera ocurrencia del elemento 9.
  16. Mostrar la posición de la última ocurrencia del elemento 9.
  17. Borrar todos los elementos del ArrayList copiaArrayList.
  18. Comprobar si el ArrayList copiaArrayList está vacío.
  19. Convertir el ArrayList misNumeros en un Array y recorrerlo con un bucle mejorado.

Reto 04

Un cine precisa una aplicación para controlar las personas de la cola para los estrenos de películas.

Debemos crear una lista con la edad de las personas de la cola y tendremos que calcular la entrada según la edad de la persona (mínimo 5 años).

Para la edad de la persona se generan aleatoriamente números entre 5 y 60 años.

Al final, deberemos mostrar la cantidad total recaudada.

El número de personas de la cola se elige al azar entre 0 y 50.

La lista de precios se basa en la siguiente tabla:

edad precio
Entre 5 y 10 años 5 €
Entre 11 y 17 años 7.5 €
Mayor de 18 años 9.5 €

Como comprobación imprime el número de personas, el precio total y la lista de edades. Por ejemplo:

1
2
3
Hay un total de 6 personas en la cola.
El precio total es de 57,00 euros
[18, 36, 50, 35, 28, 55]

< volver a actividades