RA6 - CEe¶
Empaquetar actividades
Empaqueta las actividades, dentro de la carpeta ut07, en la carpeta actividades/ce6e.
Actividad 10¶
Paquete: A10_listaAdmitidos
Una serie de personas han solicitado realizar un curso de inglés. De las que han sido admitidas se quiere almacenar su nif, su nombre y su nivel en un HashSet. En el HashSet se almacenarán objetos de la clase Inscripción.
-
Implementa la clase
Incripciónpara representar el nif, nombre y nivel de un solicitante. Además de los atributos implementa aquellos métodos que consideres necesarios. -
Escribe un programa (clase
ComprobarAdmision) que:- Defina un
HashSetde inscripciones, llamadoadmitidas. - Añada varias inscripciones (invéntate los datos).
- Permita al usuario introducir un dni para comprobar si la persona indicada ha sido admitida. Indicarle si aparece o no en la lista y, en caso afirmativo, mostrar el nombre y el nivel en que ha sido admitido.
- Defina un
Actividad 11¶
Paquete: A11_palabrasOrdenadas
Escribe un programa que, dado un fichero de texto cuya ubicación indica el usuario, muestre sus palabras ordenadas ascendentemente y, después, descendentemente. Cada palabra se mostrará una sola vez, aunque en el texto aparezca varias.
Actividad 12¶
Paquete: A12_genericos.genericos
Crear una clase Generico que incorpore los métodos genéricos que se indican a continuación. Los métodos creados serán public static. En el proyecto se creará además la clase o clases necesarias para probar los métodos desarrollados.
Object minimo (Object o1, Object o2), que devuelva el mínimo de dos objetos cualesquiera (que se suponen del mismo tipo). Una vez desarrollado, prueba el método para obtener el mínimo de dos objetos Integer. Pruébalo también para obtener el mínimo entre un Objeto Integer y un objeto String. En éste último caso, el programa ¿da error de ejecución? Si es así, explica por qué.Object maximo (Object o1, Object o2), que devuelva el maximo de dos objetos cualesquiera (que se suponen del mismo tipo).Object minimo (Object v[]), que devuelva el mínimo de un array de objetos cualesquiera (que se suponen del mismo tipo). Al respecto de éste último comentario, ¿Se puede poner en un array de Object objetos de distinto tipo, como por ejemplo Strings, Integer, ...? En caso afirmativo, ¿funcionaría el método desarrollado con un array construido así?Object maximo (Object v[]), que devuelva el maximo de un array de objetos cualesquiera (que se suponen del mismo tipo).int numVeces(Object v[], Object x)que devuelva el el numero de apariciones del objeto x en el array v.int numVecesOrdenado(Object v[], Object x)que devuelva el el numero de apariciones del objeto x en el array v ordenado ascendentemente.int mayores(Object v[], Object x)que, dado un array de Object v y un Object x devuelva el número de elementos de v que son mayores que x.int mayoresOrdenado(Object v[], Object x)que, dado un array de Object v ordenado ascendentemente y un Object x devuelva el número de elementos de v que son mayores que x.int menores(Object v[], Object x)que, dado un array de Object v y un Object x devuelva el número de elementos de v que son menores que x.int menoresOrdenado(Object v[], Object x)que, dado un array de Objectvordenado ascendentemente y un Object x devuelva el número de elementos de v que son menores que x.boolean estaEn(Object v[], Object x)que devuelva true si el Objeto x está en el array v.boolean estaEnOrdenado(Object v[], Object x)que devuelva true si el Objeto x está en el array v, ordenado ascendentemente.int posiciónDe(Object v[], Object x), que devuelva la posición que ocupa x dentro del array v, o -1 si x no está en v.int posicionDeOrdenado(Object v[], Object x), que devuelva la posición que ocupa x dentro del array v ordenado ascendentemente, o -1 si x no está en v.boolean estaOrdenado(Object v[]), que devuelva true si el array está ordenado ascendentemente.
Actividad 13¶
Paquete: A13_genericos.nevera
Se quiere crear una aplicación que controla una nevera inteligente de última generación. Los alimentos que contiene la nevera se van a representar como objetos de la clase Alimento y la clase NeveraInteligente, tiene un array de alimentos entre sus atributos privados.
Se pide implementar la clase Alimento teniendo en cuenta que uno de los métodos de NeveraInteligente necesitará ordenar por calorías los Alimentos que contiene la nevera utilizando un método de Ordenación genérico. El diseño de la clase Alimento ha de incluir, por tanto, determinados elementos que lo permitan. La clase Alimento tendrá únicamente dos atributos (privados): nombre y calorias.
Actividad 14¶
Paquete: A14_genericosAcademia
Se quiere diseñar una clase Academia. De una Academia se conoce su nombre, dirección y las aulas que tiene (Aula es una clase implementada en un ejercicio de herencia que ya hicimos).
-
Definir la clase
Academiautilizando una colección (que permita ordenación) para almacenar las aulas.: Implementar los atributos, el constructor, y los siguientes métodos:void ampliar (Aula a), que añade un aula a la academia.void quitar (Aula a), que elimina un aula de la academia.int getNumAulas(), que devuelva el número de aulas que tiene.- método
toString().
-
Realiza en la clase
Aulalos cambios necesarios para que se pueda ordenar las aulas de la Academia usando un método genérico de ordenación. El orden sería creciente por capacidad del aula y, a igual capacidad, primero las aulas de mayor superficie. -
Añade a la clase
Academiaun métodoordenarque ordene las aulas con el criterio especificado. Para realizar la ordenación se llamará a un método de ordenación.
Actividad 15¶
Paquete: A15_genericosConjuntos
-
Diseñar un interface
Conjuntopara modelizar conjuntos de elementos. Diseñar (solo la cabecera) de los siguientes métodos de la clase conjunto (prestar atención a si los métodos deben ser static o no):anyadir, que añade un elemento al conjunto, provocando la excepciónElementoDuplicadosi el elemento ya estaba en el conjunto.quitar, que elimina el elemento indicado al conjunto. ProvocaElementoNoEncontradosi el elemento indicado no estaba en el conjunto.interseccion¸ que dados dos conjuntos que recibe como parámetro devuelve un tercer conjunto que es la intersección de los dos dados.pertenece¸ que dado un elemento devuelve si este pertenece o no al conjunto.
-
Diseñar una clase
ConjuntoArrayque implemente el interfazConjunto. Esta clase implementará los métodos del interfazConjunto. Para ello utilizará un arrayObject elementos[]y unint numElementos, de manera que los elementos del conjunto se mantendrán almacenados en el array. Además de los métodos del interfaz habrá que crear un constructor para la clase y también vendrá bien tener un métodotoStringpara poder probarla.
También lo puedes implementar con una Colección de las estudiadas en el tema anterior.
Actividad 16¶
En la clase A16_divisas, crear una estructura Map llamada divisas, que almacene pares de moneda y valor al cambio en euros. Por ejemplo Dólar: 0,81€.
a) Añadir los siguientes pares moneda/valor al Map divisas:
| moneda | valor en € |
|---|---|
| Dólar Americano | 0.81 |
| Franco Suizo | 0.85 |
| Libra Esterlina | 1.14 |
| Corona Danesa | 0.13 |
| Peso Mexicano | 0.04 |
| Dólar Singapur | 0.62 |
| Real Brasil | 0.24 |
b) Mostrar el valor de la Libra Esterlina.
c) Mostrar todas las divisas con las que se opera y su valor.
d) Indicar el número de divisas del Map.
e) Eliminar la divisa Real Brasil y mostrar los datos del Map.
f) Mostrar si existe la divisa Peso Mexicano.
g) Mostrar si existe la divisa Euro.
h) Mostrar si existe el valor al cambio 0.85 €.
i) Mostrar si existe el valor al cambio 0.33 €.
j) Indicar si el Map divisas está vacío.
k) Borra todos los componentes del Map divisas.
l) Volver a indicar si el Map divisas está vacío.