Retos¶
Empaquetar retos
Empaqueta las actividades, dentro de la carpeta ut05, en la carpeta retos.
Las actividades programadas en esta sección Retos no son obligatorias.
Reto 01¶
Introducir por teclado un valor de tipo double , convertirlo en Wrapper e imprimirlo.
Reto 02¶
Introducir por teclado un valor numérico en un String y convertirlo en entero e imprimirlo.
Reto 03¶
Introducir por teclado un valor numérico entero en un String y convertirlo en un Wrapper e imprimirlo.
Reto 04¶
Introducir tres fechas e indicar la mayor y a menor.
Reto 05¶
Mostrar una fecha con formato dd/mm/aaaa utilizando 0 delante de los días o meses de 1 dígito.
Reto 06¶
paquete gestionEmpleados
Empaqueta las clases de los retos: 06, 07, 08 y 09 en el paquete gestionEmpleados dentro de retos.
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 añoActual = 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:
-
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 |
Reto 07¶
Diseñar una clase Java TestEmpleado que permita probar la clase Empleado y sus métodos. Para ello se desarrollará el método main en 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.
Reto 08¶
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) y numEmpleados (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.
Reto 09¶
Diseñar una clase Java TestEmpresa que permita probar la clase Empresa y sus métodos. Para ello, desarrolla el método main y en él …:
- Crea una empresa, de nombre "CataDaw".
- 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.
Reto 10¶
Mostrar los segundos transcurridos desde el 1 de Enero de 1970 a las 0:00:00 hasta hoy.
Reto 11¶
Introducir una fecha y devolver las fecha de los pagos a 30, 60 y 90 días.
Reto 12¶
Resta 5 años, 11 meses y 18 días a la fecha actual.
Reto 13¶
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.
Reto 14¶
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.
Reto 15¶
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.
Reto 16¶
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.