Enunciado Java Avanzado 1 PDF

Title Enunciado Java Avanzado 1
Author Gabriel Cerrolaza Merino
Course aplicaciones y servicios
Institution Universidad de Málaga
Pages 1
File Size 82.3 KB
File Type PDF
Total Downloads 37
Total Views 172

Summary

lab ...


Description

Aplicaciones y Servicios 3º del Grado en Ingeniería Telemática

Práctica: Java Avanzado I, parte 1

Ejercicio 1. Dada la clase Persona (disponible en el campus virtual), se pide lo siguiente: A. Crear una clase Agenda, que asocie cada persona (clase Persona) con unos números de teléfono (clase String). Para ello, la clase Agenda utilizará internamente un objeto HashMap, cuyas claves sean de la clase Persona y cuyos valores sean de la clase ArrayList (que tendrán los números de teléfono). La Agenda deberá tener los siguiente métodos1:  public Agenda() Constructor de una agenda vacía  public void incluir(Persona p) Añade una persona a la agenda. Si la persona ya estaba en la agenda, sus números de teléfono se borrarán.  public void escribir(Persona p, String telefono) throws Exception

Añade un número de teléfono a una persona de la agenda. Si la persona no está en la agenda, o el teléfono ya está registrado, el método lanzará una excepción2. 

public String toString() La función toString() devuelve una cadena que representa el

contenido de la agenda, siguiendo el siguiente formato: - Nombre1: Telefono1, …, Telefono N - NombreN: Telefono1, …, Telefono N3 Ejercicio 2. En el proyecto contenido en el fichero “Ejercicio Prod-Cons.zip” se utilizan tanto hebras como colecciones con genéricos. En particular, ese proyecto define una clase Runnable “ProductorFruta”, que se encarga de recoger la fruta que llega en un camión (= un hashmap), y almacenarla en un almacén (= otro hashmap). En particular, el camión contiene Uvas, Peras y Manzanas. En este ejercicio se pide la creación de una clase Runnable “ConsumidorFruta”, que busca cada 100 milisegundos una fruta en particular dentro del almacén que comparte con el “ProductorFruta”. En caso de encontrar esa fruta, la retiraría del almacén (= la borraría del hashmap) y terminaría su tarea. Una vez creada esa clase, comprobar su funcionamiento creando dos hebras que busquen retirar Uvas y Peras del almacén compartido con el objeto de la clase “ProductorFruta”.

1

Para todos los métodos que acepten parámetros, es necesario comprobar que éstos no sean null. Si lo son, entonces los métodos deben terminar sin lanzar ninguna excepción. 2 Por supuesto, podríamos implementar la lista de los números de teléfono con una clase HashSet. No obstante, utilizaremos una ArrayList para utilizar los mecanismos de lectura de la lista. 3 Para añadir un separador de líneas a un StringBuilder, hay que llamar a la siguiente función: result.append(System.getProperty("line.separator"));...


Similar Free PDFs