Ejercicios de la UD05¶
Ejercicios¶
Paquete: UD05._1.gestionEmpleados¶
-
Una empresa quiere hacer una gestión informatizada básica de sus empleados. Para ello, de cada empleado le interesa:
- Nombre (String)
- DNI (String)
- Año de ingreso (número entero)
- Sueldo bruto anual (número real)
-
Diseñar una clase Java
Empleado, que contenga los atributos (privados) que caracterizan a un empleado e implemente los métodos adecuados para:- Crear objetos de la clase: Constructor que reciba todos los datos del empleado a crear.
- Consultar el valor de cada uno de sus atributos. (Consultores o getters)
public int antiguedad(). Devuelve el número de años transcurridos desde el ingreso del empleado en la empresa. Si el año de ingreso fuera posterior al de la fecha actual, devolverá 0. Para obtener el año actual puedes usar:java int anyoActual = Calendar.getInstance().get(Calendar.YEAR);public void incrementarSueldo(double porcentaje). Incrementa el sueldo del empleado en un porcentaje dado (expresado como una cantidad real entre 0 y 100).public String toString(). Devuelve unStringcon los datos del empleado, de la siguiente forma:
1 2 3 4
Nombre: Juan González Dni: 545646556K Año de ingreso: 1998 Sueldo bruto anual: 20000 €public boolean equals(Object o). Método para comprobar si dos empleados son iguales. Dos empleados se consideran iguales si tienen el mismo DNI.public int compareTo(Empleado o). Se considera menor o mayor el empleado que tiene menor o mayor DNI (el mismo criterio que al comparar dos strings).-
Método estático
public static double calcularIRPF(double salario). Determina el % de IRPF que corresponde a un salario (mensual) determinado, según la siguiente tabla:Desde salario (incluido) Hasta salario (no incluido) % IRPF 0 800 3 800 1000 10 1000 1500 15 1500 2100 20 2100 infinito 30
-
Diseñar una clase Java
TestEmpleadoque permita probar la claseEmpleadoy sus métodos. Para ello se desarrollará el métodomainen el que:- Se crearán dos empleados utilizando los datos que introduzca el usuario.
- Se incrementará el sueldo un 20 % al empleado que menos cobre.
- Se incrementará el sueldo un 10% al empleando más antiguo.
- Muestra el IRPF que correspondería a cada empleado.
- Para comprobar que las operaciones se realizan correctamente, muestra los datos de los empleados tras cada operación.
-
Diseñar una clase
Empresa, que permita almacenar el nombre de la empresa y la información de los empleados de la misma (máximo 10 empleados) en un array. Para ello, se utilizarán tres atributos:nombre,plantilla(array de empleados) ynumEmpleados(número de empleados que tiene la empresa). En esta clase, se deben implementar los métodos:public Empresa (String nombre). Constructor de la clase. Crea la empresa con el nombre indicado y sin empleados.public void contratar(Empleado e) throws PlantillaCompletaException. Añade el empleado indicado a la plantilla de la empresa, siempre que quepa en el array. Si no cabe, se lanzará la excepciónPlantillaCompletaException.public void despedir(Empleado e) throws ElementoNoEncontradoException. Elimina el empleado indicado de la plantilla. Si no existe en la empresa, se lanzaElementoNoEncontradoException.public void subirTrienio (double porcentaje)Subir el sueldo, en el porcentaje indicado, a todos los empleados cuya antigüedad sea exactamente tres años.public String toString(). Devuelve unStringcon el nombre de la empresa y la información de todos los empleados. La información de los distintos empleados debe estar separada por saltos de línea.
-
Diseñar una clase Java
TestEmpresaque permita probar la claseEmpresay sus métodos. Para ello, desarrolla el métodomainy en él …:- Crea una empresa, de nombre "DAMCarlet".
- Contrata a varios empleados (con el nombre, DNI, etc. que quieras).
- Usa el método
subirTrieniopara subir un 10% el salario de los empleados que cumplen un trienio en el año actual. - Despide a alguno de los empleados.
- Trata de despedir a algún empleado que no exista en la empresa.
- Muestra los datos de la empresa siempre que sea necesario para comprobar que las operaciones se realizan de forma correcta.
Paquete: UD05._2.gestionHospital¶
-
Se desea realizar una aplicación para gestionar el ingreso y el alta de pacientes de un hospital. Una de las clases que participará en la aplicación será la clase
Paciente, que se detalla a continuación : -
La clase
Pacientepermite representar un paciente mediante los atributos:nombre(cadena),edad(entero),estado(entero entre 1 -más grave- y 5 -menos grave-, 6 si está curado), y con las siguientes operaciones:public Paciente (String n, int e). Constructor de un objetoPacientede nombren, deeaños y cuyo estado es un valor aleatorio entre 1 y 5.public int getEdad(). Consultor que devuelve edad.public int getEstado(). Consultor que devuelve estado.public void mejorar(). Modificador que incrementa en uno el estado del paciente (mejora al paciente)public void empeorar(). Modificador que decrementa en uno el estado del paciente (empeora al paciente)public String toString(). Transforma el paciente en unString. Por ejemplo,1Pepe Pérez 46 5public int compareTo(Paciente o). Permite comparar dos pacientes. Se considera menor el paciente más leve. A igual gravedad, se considera menor el paciente más joven. Ejemplo:- Teniendo a
David 40 3,Pepe 25 3yJuan 35 5:1 2 3
David.compareTo(Juan) = 2 Juan.compareTo(Pepe) = -2 David.compareTo(Pepe) = 15
-
Diseñar una clase Java
TestPacienteque permita probar la clasePacientey sus métodos. Para ello se desarrollará el métodomainen el que:- Se crearán dos pacientes: "Antonio" de 20 años y "Miguel" de 30 años.
- Imprimir el estado inicial de los dos pacientes.
- Mostrar los datos del que se considere menor (según el criterio de
compareTode la clasePaciente). - Aplicar "mejoras" al paciente más grave hasta que los dos pacientes tengan el mismo estado.
- Imprimir el estado final de los dos pacientes.
-
La clase Hospital contiene la información de las camas de un hospital, así como de los pacientes que las ocupan. Un Hospital tiene un número máximo de camas
MAXC= 200 y para representarlas se utilizará un array (llamadolistaCamas) de objetos de tipo Paciente junto con un atributo (numLibres) que indique el número de camas libres del hospital en un momento dado. El número de cada cama coincide con su posición en el array de pacientes (la posición 0 no se utiliza), de manera quelistaCamas[i]es el Paciente que ocupa la camaio esnullsi la cama está libre. Las operaciones de esta clase son:public Hospital(). Constructor de un hospital. Cuando se crea un hospital, todas las camas están libres.public int getNumLibres(). Consultor del número de camas libres.public boolean hayLibres(). Devuelve true si en el hospital hay camas libres y devuelve false en caso contrario.public int primeraLibre(). Devuelve el número de la primera cama libre del arraylistaCamassi hay camas libres o devuelve un 0 si no las hay.public void ingresarPaciente(String n, int e) throws HospitalLlenoExceptionSi hay camas libres, la primera de ellas (la de número menor) pasa a estar ocupada por el paciente de nombreny edade. Si no hay camas libres, lanza una excepción.private void darAltaPaciente(int i). La camaidel hospital pasa a estar libre. (Afectará al número de camas libres)public void darAltas(). Se mejora el estado (métodomejorar()dePaciente) de cada uno de los pacientes del hospital y a aquellos pacientes sanos (cuyo estado es 6) se les da el alta médica (invocando al métododarAltaPaciente).public String toString(). Devuelve unStringcon la información de las camas del hospital. Por ejemplo,1 2 3 4 5 6 7
1 María Medina 30 4 2 Pepe Pérez 46 5 3 libre 4 Juan López 50 1 5 libre ... 199 Andrés Sánchez 29 3
-
En la clase
GestorHospitalse probará el comportamiento de las clases anteriores. El programa deberá:- Crear un hospital.
- Ingresar a cinco pacientes con los datos simulados introducidos directamente en el programa.
- Realizar el proceso de
darAltasmientras que el número de habitaciones libres del hospital no llegue a una cantidad (por ejemplo 198). - Mostrar los datos del hospital cuando se considere oportuno para comprobar la corrección de las operaciones que se hacen.
Paquete: UD05._3.contrarreloj¶
-
Se quiere realizar una aplicación para registrar las posiciones y tiempos de llegada en una carrera ciclista contrarreloj.
-
La clase
Corredorrepresenta a un participante en la carrera. Sus atributos son el dorsal (entero), el nombre (String) y el tiempo en segundos (double) que le ha costado completar el recorrido. Los métodos con los que cuenta son:public Corredor(int d, String n). Constructor a partir del dorsal y el nombre. Por defecto el tiempo tardado es 0public double getTiempo(). Devuelve el tiempo tardado por el corredorpublic int getDorsal(). Devuelve el dorsal del corredorpublic String getNombre(). Devuelve el nombre del corredorpublic void setTiempo(double t) throws IllegalArgumentException. Establece el tiempo tardado por el corredor. Lanzará la excepción si el tiempo indicado es negativo.public void setTiempo(double t1, double t2) throws IllegalArgumentException. Establece el tiempo tardado por el corredor.t1indica la hora de comienzo yt2la hora de finalización (expresadas en segundos). La diferencia en segundos entre los dos datos servirá para establecer el tiempo tardado por elCorredor. Lanzará la excepción si el tiempo resultante es negativopublic String toString(). Devuelve un String con los datos del corredor, de la forma:1(234) - Juan Ramirez - 2597 segundospublic boolean equals(Object o). Devuelve true si los corredores tienen el mismo dorsal y false en caso contrariopublic int compareTo (Corredor o). Un corredor es menor que otro si tiene menor dorsal.public static int generarDorsal(). Devuelve un número de dorsal generado secuencialmente. Para ello la clase hará uso de un atributostatic int siguienteDorsalque incrementará cada vez que se genere un nuevo dorsal.
-
Diseñar una clase Java
TestCorredorque permita probar la clase Corredor y sus métodos. Para ello se desarrollará el métodomainen el que:- Se crearán dos corredores: El nombre lo indicará el usuario mientras que el dorsal se generará utilizando el método
generarDorsal()de la clase. - Se establecerá el tiempo de llegada del primer corredor a 300 segundos y el del segundo a 400.
- Se mostrarán los datos de ambos corredores (
toString)
- Se crearán dos corredores: El nombre lo indicará el usuario mientras que el dorsal se generará utilizando el método
-
La clase
ListaCorredorespermite representar a un conjunto de corredores. En la lista, como máximo habrá 200 corredores, aunque puede haber menos de ese número. Se utilizará un array, llamado lista, de 200 elementos junto con una propiedadnumCorredoresque permita saber cuantos corredores hay realmente. Métodos:public ListaCorredores(). Constructor. Crea la lista de corredores, incicialmente vacía.public void anyadir(Corredor c) throws ElementoDuplicadoException. Añade un corredor al final de la lista de corredores (pero lo más al principio posible del array), siempre y cuando el corredor no esté ya en la lista, en cuyo caso se lanzaráElementoDuplicadoExceptionpublic void insertarOrdenado(Corredor c). Inserta un corredor en la posición adecuada de la lista de manera que esta se mantenga ordenada crecientemente por el tiempo de llegada. Para poder realizar la inserción debe averiguarse la posición que debe ocupar el nuevo elemento y, antes de añadirlo al array, desplazar el elemento que ocupa esa posición y todos los posteriores, una posición a la derecha.public Corredor quitar(int dorsal) throws ElementoNoEncontradoException. Quita de la lista al corredor cuyo dorsal se indica. El array debe mantenerse compacto, es decir, todos los elementos posteriores al eliminado deben desplazarse una posición a la izquierda. El método devuelve el Corredor quitado de la lista. Si no se encuentra se lanzaElementoNoEncontradoException.public String toString()Devuelve unStringcon la información de la lista de corredores. Los minutos apareceran formateados con 2 decimales. Por ejemplo:1 2 3 4 5 6 7 8 9
Posición: 0 Dorsal: 234 Nombre: Juan Ramirez Tiempo: 25.97 minutos Posición: 1 Dorsal: 26 Nombre: José González Tiempo: 29.70 minutos
-
Clase
Contrarreloj) Realizar un programa que simule una contrarreloj. Para llevar el control de una carrera contrarreloj se mantienen dos listas de corredores (dos objetos de tipoListaCorredores):- (
hanSalido) Una con los que han salido, que tiene a los corredores por orden de salida. El atributo tiempo de estos corredores será 0. Para que los corredores se mantengan por orden de salida, se añadiran a la lista utilizando el método añadir. - (
hanLlegado) Otra con los corredores que hay llegado a la meta. A medida que los corredores llegan a la meta se les extrae de la primera lista, se les asigna un tiempo y se les inserta ordenadamente en esta segunda lista. - En el método
mainrealizar un programa que muestre un menú con las siguientes opciones:Salida: Para registrar que una corredor ha comenzado la contrarreloj y sale de la línea de salida. Solicita al usuario el nombre de un corredor y su dorsal, y lo añade a la lista de corredores que han salido.Llegada: Para registrar que un corredor ha llegado a la meta. Solicita al usuario el dorsal de un corredor y el tiempo de llegada (en segundos). Quita al corredor de la lista de corredores quehanSalido, le asigna el tiempo que ha tardado y lo inserta (ordenadamente) en la lista de corredores quehanLlegadoClasificación: Muestra la lista de corredores quehanLlegado. Dado que esta lista está ordenada por tiempo, mostrarla por pantalla nos da la clasificación.Salir: Sale del programa
- (
Paquete: UD05._4.reservasLibreria¶
-
Una librería quiere proporcionar a sus clientes el siguiente servicio:
Cuando un cliente pide un libro y la librería no lo tiene, el cliente puede hacer una reserva de manera que cuando lo reciban en la librería le avisen por teléfono.
De cada reserva se almacena:
Nifdel cliente (String)Nombredel cliente (String)Teléfonodel cliente (String)Códigodel libro reservado. (entero)- Numero de
ejemplares(entero)
-
Diseñar la clase
Reserva, de manera que contemple la información descrita e implementar:public Reserva(String nif, String nombre, String tel, int codigo, int ejemplares). Constructor que recibe todos los datos de la reserva.public Reserva(String nif, String nombre, String tel, int codigo). Constructor que recibe los datos del cliente y el código del libro. Establece el número de ejemplares a uno.- Consultores de todos los atributos.
public void setEjemplares(int ejemplares). Modificador del número de ejemplares. Establece el número de ejemplares al valor indicado como parámetro.public String toString()que devuelva unStringcon los datos de la reservapublic boolean equals(Object o). Dos reservas son iguales si son del mismo cliente y reservan el mismo libro.public int compareTo(Object o). Es menor la reserva cuyo código de libro es menor. El parámetro es de tipoObjectasí que revisa si debes hacer alguna "adaptación".
-
Diseñar una clase Java
TestReservasque permita probar la claseReservay sus métodos. Para ello se desarrollará el métodomainen el que:- Se creen dos reservas con los datos que introduce el usuario. Las reservas no pueden ser iguales (equals). Si la segunda reserva es igual a la primera se pedirá de nuevo los datos de la segunda al usuario.
- Se incremente en uno el número de ejemplares de ambas reservas.
- Se muestre la menor y a continuación la mayor.
- Mostrar el listado de reservas cada vez que consideres oportuno.
-
Diseñar una clase
ListaReservasque implemente una lista de reservas. Como máximo puede haber 100 reservas en la lista. Se utilizará un array de Reservas que ocuparemos a partir de la posición 0 y un atributo que indique el número de reservas. Las reservas existentes ocuparán las primeras posiciones del array (sin espacios en blanco). Implementar los siguientes métodos:public void reservar (String nif, String nombre, String telefono, int libro, int ejemplares) throws ListaLlenaException, ElementoDuplicadoException: Crea una reserva y la añade a la lista. LanzaElementoDuplicadoExceptionsi la reserva ya estaba en la lista. LanzaListaLlenaExceptionsi la lista de reservas está llena.public void cancelar (String nif, int libro) throws ElementoNoEncontradoException. Dado un nif de cliente y un código de libro, anular la reserva correspondiente. LanzarElementoNoEncontradoExceptionsi la reserva no existe.public String toString(): Devuelve unStringcon los datos de todas las reservas de la lista.public int numEjemplaresReservadosLibro (int codigo): Devuelve el número de ejemplares que hay reservados en total de un libro determinado.public void reservasLibro (int codigo): Dado un código de libro, muestra el nombre y el teléfono de todos los clientes que han reservado el libro.
-
Realizar un programa
GestionReservasque, utilizando un menú, permita:- Realizar reserva. Permite al usuario realizar una reserva.
- Anular reserva: Se anula la reserva que indique el usuario (Nif de cliente y código de libro).
- Pedido: El usuario introduce un código de libro y el programa muestra el nº de reservas que se han hecho del libro. Esta opción de menú le resultará útil al usuario para poder hacer el pedido de un libro determinado.
- Recepción: Cuando el usuario recibe un libro quiere llamar por teléfono a los clientes que lo reservaron. Solicitar al usuario un código de libro y mostrar los datos (nombre y teléfono) de los clientes que lo tienen reservado.
Paquete: UD05._5.gestorCorreoElectronico¶
-
Queremos realizar la parte de un programa de correo electrónico que gestiona la organización de los mensajes en distintas carpetas. Para ello desarrollaremos:
-
La clase
Mensaje. De un mensaje conocemos:Codigo (int)Número que permite identificar a los mensajes.Emisor (String): email del emisor.Destinatario (String): email del destinatario.Asunto (String)Texto (String)
Desarrollar los siguientes métodos:
- Constructor que reciba todos los datos, excepto el código, que se generará automáticamente (nº consecutivo. Ayuda: utiliza una variable de clase (
static)) - Consultores de todos los atributos.
public boolean equals(Object o). Dos mensajes son iguales si tienen el mismo código.public static boolean validarEMail(String email): Método estático que devuelve true o false indicando si la dirección de correo indicada es válida o no. Una dirección es válida si tiene la formadireccion@subdominio.dominiopublic String toString()
-
Con la clase
TestCorreoprobaremos las clases y métodos desarrollados.- Crea varios mensajes con los datos que introduzca el usuario y muéstralos por pantalla.
- Prueba el método
validarEMailde la clase Mensaje con las direcciones siguientes (solo la primera es correcta):tuCorreo@gmail.comtuCorreogmail.comtuCorreo@gmailtuCorreo.com@gmail
-
La clase
Carpeta, cada carpeta tiene un nombre y una lista de Mensajes. Para ello usaremos un array con capacidad para 100 mensajes y un atributo que indique el número de mensajes que contiene la carpeta. Además se implementarán los siguientes métodos:public Carpeta(String nombre): Constructor. Dado un nombre, crea la carpeta sin mensajes.public void anyadir(Mensaje m): Añade a la carpeta el mensaje indicado.public void borrar(Mensaje m) throws ElementoNoEncontradoException: Borra de la carpeta el mensaje indicado. Lanza la excepción si el mensaje no existe.public Mensaje buscar(int codigo) throws ElementoNoEncontradoException: Busca el mensaje cuyo código se indica. Si lo encuentra devuelve el mensaje, en caso contrario lanza la excepción.public String toString()que devuelva unStringcon el nombre de la carpeta y sus mensajespublic static void moverMensaje(Carpeta origen, Carpeta destino, int codigo) throws ElementoNoEncontradoException: Método estático. Recibe dos Carpetas de correo y un código de mensaje y mueve el mensaje indicado de una carpeta a otra. Para ello buscará el mensaje en la carpeta origen. Si existe lo eliminará y lo añadirá a la carpeta de destino. Si el mensaje indicado no está en la carpeta de origen lanzaElementoNoEncontradoException.
-
Con la clase
TestCarpetasprobaremos las clases y métodos desarrollados:- Crea dos carpetas de correo de nombre
Mensajes recibidosyMensajes eliminadosrespectivamente. - Crea varios mensajes y añádelos a
Mensajes recibidos. - Mueve el mensaje de código 1 desde la
Mensajes recibidosaMensajes elimiminados. - Muestra el contenido de las carpetas antes y después de cada operación (añadir, mover,...)
- Crea dos carpetas de correo de nombre
Paquete: UD05._6.juegoDeCartas¶
-
Se está desarrollando una aplicación que usa una baraja de cartas. Para ello, se implementarán en Java las clases necesarias.
-
Una de ellas es la clase
Cartaque permite representar una carta de la baraja española. La información requerida para identificar unaCartaes:- su
palo(oros, copas, espadas o bastos) y - su
valor(un entero entre 1 y 12).
Para dicha clase, se pide:
- Definir 4 constantes, atributos de clase (estáticos) públicos enteros, para representar cada uno de los palos de la baraja (
OROSserá el valor 0,COPASel 1,ESPADASel 2 yBASTOSel 3). - Definir los atributos (privados):
paloyvalor. - Escribir dos constructores: uno para construir una carta de forma aleatoria (sin parámetros) y otro para construir una carta de acuerdo a dos datos: su palo y su valor (si los datos son incorrectos se lanzará
IllegalArgumentException) - Escribir los métodos
consultoresymodificadoresde los valores de los atributos. - Escribir un método
compareTopara comprobar si la carta actual es menor que otra carta dada. El criterio de ordenación es por palos (el menor es oros, después copas, a continuación espadas y, finalmente, bastos) y dentro de cada palo por valor (1, 2, ..., 12). - Escribir un método
equalspara comprobar la igualdad de dos cartas. Dos cartas son iguales si tienen el mismo palo y valor. - Escribir un método
sigPalopara devolver una nueva carta con el mismo valor que el de la carta actual pero del palo siguiente, según la ordenación anterior y sabiendo que el siguiente al palo bastos es oros. - Escribir un método
toStringpara transformar enStringla carta actual, con el siguiente formato: "valor de palo"; por ejemplo, "4 de oros" o "1 de bastos" (sobrescritura del métodotoStringdeObject).
- su
-
Implementar una clase
JuegoCartascon los métodos siguientes:-
Un método de clase (estático)
public static int ganadora( Carta c1, Carta c2, int triunfo)que dados dos objetosCartay un número entero representando el palo de triunfo (o palo ganador), determine cuál es la carta ganadora. El método debe devolver 0 si las dos cartas son iguales. En caso contrario, devolverá -1 cuando la primera carta es la ganadora y 1 si la segunda carta es la ganadora. -
Para determinar la carta ganadora se aplicarán las siguientes reglas:
- Si las dos cartas son del mismo palo, la carta ganadora es el as (valor 1) y, en el resto de casos, la carta ganadora es la de valor más alto (por ejemplo, "1 de oros" gana a "7 de oros", "5 de copas" gana a "2 de copas", "11 de bastos" gana a "7 de bastos").
- Si las dos cartas son de palos diferentes:
- Si el palo de alguna carta es el palo de triunfo, dicha carta es la ganadora.
- En otro caso, la primera carta siempre gana a la segunda.
- Un método
mainen el que se debe:
- Crear una
Cartaaleatoriamente y mostrar sus datos por pantalla. - Generar aleatoriamente un entero en el rango [0..3] representando el palo de triunfo, y mostrar por pantalla a qué palo corresponde.
- Crear una
Cartaa partir de un palo y un valor dados (solicitados al usuario desde teclado), y mostrar sus datos por pantalla. - Mostrar por pantalla la carta ganadora (invocando al método del apartado anterior con el objeto
Cartadel usuario.
-
Actividades¶
-
(WrapperDouble) Introducir por teclado un valor de tipo
double, convertirlo en Wrapper e imprimirlo. -
(StringAEntero) Introducir por teclado un valor numérico en un
Stringy convertirlo en entero e imprimirlo. -
(StringAWrapper) Introducir por teclado un valor numérico entero en un
Stringy convertirlo en unWrappere imprimirlo. -
(OperacionesBinarias) Introducir por teclado dos valores numéricos enteros y la operación que queremos realizar (
suma,restaomultiplicación). Realizar la operación y mostrar el resultado enBinario,HexadecimalyOctal.Ejemplo de ejecución:
1 2 3 4 5 6 7
Introduce el primer valor numérico: 14 Introduce el segundo valor numérico: 4 Introduce la operación (suma, resta, multiplicacion): resta EL RESULTADO: en binario: 1010 en octal: 12 en hexadecimal: a -
(SegundosDesde1970) Mostrar los segundos transcurridos desde el
1 de Enero de 1970 a las 0:00:00hastahoy. -
(FormatosFechaHora) Mostrar la
fechayhorade hoy con los siguientes formatos (para todos los ejemplos se supone que hoy es 26 de agosto de 2021 a las 17 horas 16 minutos y 8 segundos, tu deberas mostrar la fecha y hora de tu sistema en el momento de ejecución):- a)
August 26, 2021, 5:16 pm - b)
08.26.21 - c)
26, 8, 2021 - d)
20210826 - e)
05-16-08, 26-08-21 - f)
Thu Aug 26 17:16:08 - g)
17:16:08
- a)
-
(ValidarFecha) Introducir un día, un mes y un año y verificar si es una fecha correcta.
1 2 3 4 5 6 7 8 9
Introduce un dia para la fecha: 29 Introduce un mes para la fecha: 2 Introduce un año para la fecha: 2022 LA FECHA ES INCORRECTA Introduce un dia para la fecha: 29 Introduce un mes para la fecha: 2 Introduce un año para la fecha: 2020 LA FECHA ES CORRECTA -
(DiasEntreFechas) Introducir dos fechas e indicar los días transcurridos entre las dos fechas.
1 2 3 4 5 6 7 8
Introduce la fecha inicial con formato dd/mm/yyyy: 01/02/2021 Introduce la fecha final con formato dd/mm/yyyy: 15/03/2022 La fecha inicial es: 1/2/2021 La fecha final es: 15/3/2022 Entre la fecha inicial y la final hay un periodo de: P1Y1M14D dias: 14 meses: 1 años: 1 -
(PagosPlazos) Introducir una fecha y devolver las fecha de los pagos a 30, 60 y 90 días.
-
(CompararFechas) Introducir tres fechas e indicar la mayor y a menor.
-
(FechaActualComparacion) Introducir el día, mes, año. Crear una fecha a partir de los datos introducidos y comprobar e indicar si se trata de la fecha actual, si es una fecha pasada o una fecha futura.
-
(EdadEmpleado) Introducir una fecha de nacimiento de un empelado e indicar cuántos años tiene el empleado.
-
(ProductoCaducado) Introducir la fecha de caducidad de un producto e indicar si el producto está o no caducado. El valor por defecto será la fecha actual y solo se podrán introducir fechas del año en curso.
-
(FormatoFechaCeros) Mostrar una fecha con formato dd/mm/aaaa utilizando 0 delante de los días o meses de 1 dígito.
-
(FormatoFechaExtendido) Mostrar una fecha con formato
DiaSemana,DiaMesdeMesdelAñoa lashoras:minutos:segundos. Por ejemplo: Miercoles, 9 de Diciembre del 2015 a las 18:45:32 -
(SumarFechaFutura) Suma 10 años, 4 meses y 5 días a la fecha actual.
1 2
Hoy es: dijous, 03 de març del 2022 Dentro de 10 años, 4 meses y 5 dias será: dijous, 08 de juliol del 2032 -
(RestarFechaPasada) Resta 5 años, 11 meses y 18 días a la fecha actual.
-
(PagoHorasExtra) Introducir el número de horas trabajadas por un empleado y la fecha en las que las trabajo. Si el día fue sábado o domingo el precio hora trabajada es 20€ en caso contrario 15€. Calcula la cantidad de dinero que habrá que pagar al empleado por las horas trabajadas.
-
(CalculoNomina) Introducir la fecha inicial y final de una nómina y calcular lo que debe cobrar el empleado sabiendo que cada día trabajado recibe 55 € y tiene una retención del 12% sobre el sueldo.
-
(ClaseAlumno) Crear una clase
Alumnocon los atributoscodigo,nombre,apellidos,fecha_nacimiento,calificacion. La fecha de nacimiento deberá introducirse como una fecha. Crear constructor, métodossetterygetterytoString. Crear una instancia con los siguientes valores1,'Luis','Mas Ros',05/10/1990,7.5. Mostrar los datos del alumno además de su edad.1Alumno{codigo=1, nombre=Luis, apellidos=Mas Ros, fecha=1990-10-05, calificacion=7.5, edad= 31} -
(PlazoEntrega) Introducir la fecha de entrega de un documento y nos diga si está dentro o fuera de plazo teniendo en cuenta que la fecha de entrega límite es la fecha actual.
-
(RetencionesTrabajadores) Introducir en un array
nombre,apellidosysueldode varios trabajadores y lafecha de altaen la empresa. Las fechas deberán introducirse como fechas. Recorrer el array y mostrar para cada trabajador la retención que debe aplicarse sobre el sueldo teniendo en cuenta que los trabajadores incorporados antes de 1980 tienen una retención del 20%, los trabajadores con fecha entre 1980 y 2000 una retención del 15% y los trabajadores con fecha posterior al 2000 la retención que aplicaremos será el 5% del sueldo. -
(MayorEdad) Realiza un método estático que dada la
fecha de nacimientode una persona indique si es mayor de edad. -
(ClaseConversor) Realiza una clase
Conversorque tenga las siguientes características: Toma como parámetro en el constructor un valor entero. Tiene un métodogetNumeroque dependiendo del parámetro devolverá el mismo número (String) en el siguiente sistema de numeración:B Binario,H Hexadecimal,O Octal. Realiza un métodomainen la clase para probar todo lo anterior. -
(ConversorFechas) Realiza una clase
ConversorFechasque tenga los siguientes métodos:String normalToAmericano(String fecha). Este método convierte una fecha en formato normaldd/mm/yyyya formato americano `mm/dd/yyyy```String americanoToNormal(String fecha). Este método realiza el paso contrario, convierte fechas en formato americano a formato normal.