PROG01 Tarea3
PROG01 Tarea3
PROG01 Tarea3
Creamos un
proyecto nuevo
según indica el
enunciado, que
incluye 2 paquetes y
3 clases
CLASE FECHA
Creamos 3 atributos privados de tipo entero para seguir el principio de encapsulación
package datos;
Creamos un metodo constructor que por defecto pasa datos especificos a cada nueva
instancia de la clase
Creamos un metodo que puede cambiar atributos de la clase, que recibe como parametros
3 valores de tipo entero, que a su ves se almacenan en variabkes DIA, MES y ANIO
zubrienko_tatiana_PROG01_Tarea 1
El metodo devuelve un dato tipo string, imprimiendo los atributos de la clase de forma
predeterminada
El metodo tipo boolean que recibe como paramentro variable mes de tipo entero y la
compruebe segun el criterio establecido: si es mayor o igual que 1 y a la vez menor o igual
que 12, el metodo devuelve TRUE, de lo contrario devuelve FALSE
Un metodo que nos devuelve un String según el valor de la variable mes. Lo conseguimos
a través de un switch, que tiene 12 casos posibles. Si el usuario introduce valor mayor que
12, el metodo devuelve string "error"
zubrienko_tatiana_PROG01_Tarea 2
}
}
Y por ultimo, creamos un metodo que nos devuelve un string compuesto por valor de la
variable dia + el valor que nos devuelve metodo anterior nombreMes() y el valor de la
variable anio
CLASE TRABAJADOR
Igual que en el ejemplo anterior creamos una nueva clase que riene varios atributos
encapsulados de tipo String, entero y tipo Fecha.
Hay 2 atributos (Nombre y Edad) que nos interesa “proteger” de posibles cambios en el
futuro debe a que no tiene ningun sentido que una instancia de presenta clase pueda
cambiar valor de estos variables. Lo conseguimos declarando una variable con metodo de
acceso private e indicando final
package datos;
Un metodo que recibe como parametro un objeto tipo fecha y lo pasa a variable fecha_alta
Un metodo que nos permite instanciar un nuevo objeto de la clase pasandole como
parametros nombre (tipo str), edad, categoria y antiguedad (de tipo entero) y fecha de alta
(tipo Fecha)
zubrienko_tatiana_PROG01_Tarea 3
public void crear_trabajador(String nombre, int edad, int categoria, int antiguedad,
Fecha fecha_alta) {
this.nombre=nombre;
this.edad=edad;
this.categoria=categoria;
this.antiguedad=antiguedad;
this.fecha_alta=fecha_alta;
}
Un metodo igual al anterior que comprueba si el numero que pasamos a variable categoria
cumple los criterios establecidos
Un metodo que nos devuelve un String "convertiendo" valor numerico que hemos
almacenado en variable CATEGORIA segun condiciones determinadas
Otro modo de hacer la mismoa operacion es mediante un SWITCH como en ejemplo de los
meses de Feccha
zubrienko_tatiana_PROG01_Tarea 4
}
else {
return "CATEGORÍA ERRÓNEA";
}
Un metodo que convierte valor numerico que hemos pasado a variable ANTIGÜEDAD en
un String según las condiciones de casos establecidas (alternativa SWITCH)
El siguiente metodo (como su propio nombre indica) realiza el calculo de salario, recibiendo
como parametros los valores de las variables categoria y antiguedad de la clase.
Aqui hay 2 pasos:
1) operación de multiplicación por un coeciente determinado en función de
variable categoria
2) suma de una cantidad establecida en función de valor de variable antigüedad
if(antiguedad==0) {
base += 150;
}
else if(antiguedad==1) {
base += 300;
}
else if(antiguedad==2) {
zubrienko_tatiana_PROG01_Tarea 5
base +=600;
}
else {
base = base;
}
return base;
}
El metodo que nos devuelve un String compuesto por valores introducidas o generadas por
metodos anteriormente
CLASE OPERACIONES
Este clase es la clase principal, a partir de la que empiece la ejecucion del programa
debido al metodo main
Primer paso que debemos hacer es importar un Scanner para poder introducir datos por
consola.
Despues creamos 2 objetos de tipo Fecha y Trabajador
package operaciones;
import java.util.Scanner;
Una por una creamos “entradas” para que el usuario pueda introducir datos necesarios por
consola. Datos introducidos se almacenan en las variables correspondientes
zubrienko_tatiana_PROG01_Tarea 6
Scanner entr2 = new Scanner(System.in);
System.out.print("Introduce la antigüedad (0 a 2): ");
int antiguedad = entr2.nextInt();
System.out.println("\\nFECHA DE ALTA\\n");
Pasamos al metodo darFecha() de objeto fecha_1 que es una instancia de clase Fecha los
parametros dia , mes y anio de tipo entero
Y a su vez al metodo crear_trabajador() del objeto tr_1 , perteneciente a la clase
Trabajador los parametros, que se almacenan en las variables correspondientes
Imprimimos en pantalla los resultados en el formato que nos interesa, añadiendo algunos
comentarios necesarios para dar una forma a nuestro resultado
Como resultado
vemos en consola,
por lo que podemos
decir, que el
zubrienko_tatiana_PROG01_Tarea 7
programa se ha
ejecutado de forma
correcta
zubrienko_tatiana_PROG01_Tarea 8
Antigüedad
incorrect
zubrienko_tatiana_PROG01_Tarea 9
El mes incorrecto
zubrienko_tatiana_PROG01_Tarea 10
zubrienko_tatiana_PROG01_Tarea 11