Boletín 404. Ejercicios variados
En este boletín pondremos en práctica los conocimientos adquiridos sobre OOP en Java para realizar algunas aplicaciones sencillas.
En los siguientes ejercicios es necesario crear clases e incluir la mayor parte de la lógica del programa dentro de estas clases.
Ejercicios
Ejercicio 1. Se desea realizar un programa para realizar encuestas.
El programa contará con un menú con las siguientes opciones:
a) Añadir pregunta→ Cada pregunta consta de un número indeterminado de respuestas. El programa primero pedirá la pregunta, y a continuación pedirá un mínimo de dos respuestas. A partir de ahí, cada vez que se añada una respuesta se preguntará al usuario si desea añadir alguna respuesta posible más.b) Responder cuestionario→ Se deben mostrar todas las preguntas con sus respectivas respuestas. Para cada una de ellas el usuario debe poder seleccionar en un menú una de las posibles respuestas.c) Mostrar resultados→ Se deben mostrar todas las preguntas con sus respectivas respuestas, y para cada respuesta el porcentaje de selección de dicha respuesta.
Introduce al comienzo del programa datos de prueba.
Ejercicio 2. Se desea realizar un gestor de tareas personal. Para ello, crea un programa con el siguiente menú de inicio:
a) Iniciar sesión→ El usuario debe introducir su nombre de usuario y contraseña. Si las credenciales son correctas, se mostrará el siguiente mensaje de bienvenida:Bienvenido <nombreDePila>. A continuación se mostrará el menú principal.b) Registrarse→ El usuario podrá registrarse en la aplicación introduciendo su nombre de pila, el nombre de usuario y su contraseña 2 veces. Debes comprobar que el nombre de usuario no existe en la aplicación y que las contraseñas introducidas coinciden. Además, la contraseña debe contener una letra mayúscula, una minúscula y un número, y no se debe almacenar enraw, sino que debes guardarla utilizando suhash.c) Salir del programa→ Se cierra el programa.
Una vez iniciada sesión, el menú principal consta de las siguientes opciones:
a) Modificar nombre→ El usuario puede modificar su nombre de pila.b) Ingresar tarea pendiente→ El usuario debe poder introducir una tarea. Cada tarea consta de un título, una descripción y la fecha y hora límite para realizar la tarea en el formatodd/MM/yyyy HH:mm. También se deberá almacenar en qué momento se introdujo la tarea.c) Mostrar tareas pendientes→ El usuario podrá ver las tareas pendientes por hacer. Se debe mostrar un menú donde se muestra el título de cada tarea. El usuario podrá seleccionar una tarea y ver su descripción, fecha de introducción y fecha límite en el formatodd/MM/yyyy HH:mm.d) Marcar tarea como realizada→ El usuario podrá marcar las tareas pendientes como realizadas. Se debe mostrar un menú donde se muestra el título de cada tarea. El usuario, a través de este menú, indicará qué tarea desea marcar como realizada.e) Mostrar tareas pendientes en las próximas 48 horas→ Similar al punto c).f) Mostrar tareas realizadas→ Similar al punto c).g) Mostrar tareas pendientes pero que se sobrepasó la fecha y hora límite→ Similar al punto c).h) Cerrar sesión→ Se irá al menú de inicio de sesión.
Introduce al comienzo del programa datos de prueba.
Ejercicio 3. La cadena de restaurantes Pollos Hermanos nos pide hacer un programa para gestionar las reservas de cenas (solo cenas) de sus restaurantes. Por lo tanto, deberemos hacer un programa en Java con el siguiente menú:
a) Añadir restaurante→ Deberemos añadir un restaurante. Deberemos almacenar la ciudad y el número de teléfono del mismo.b) Hacer una reserva→ Podremos anotar una reserva para un día en un restaurante. El día de la reserva se añadirá en el formatodd/mm/yyyyy se deberá introducir el nombre de la ciudad para realizar la selección del restaurante. En la reserva deberemos indicar el número de comensales. Debemos tener en cuenta que cada restaurante solo puede acoger en un mismo día a 20 comensales. Si la reserva sobrepasa el límite de comensales no se podrá realizar. Además, también se debe indicar el nombre de quien realiza la reserva.c) Ver número de comensales del día→ Debes mostrar el número de comensales que hay para el día actual indicando la ciudad del restaurante.d) Ver primer día de este mes sin reservas→ Se indicará el número de mes del primer día desde el día actual en el que no hay reservas, pero solo de este mes, indicando la ciudad del restaurante. Devuelve un objeto de la claseOptionalya que puede ser que no haya ningún día.