Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pf2011;
- import utilidades.Teclado;
- /**
- *
- * @author LSI, curso 2010/2011
- *
- */
- public class EmpleadoComision implements IEmpleado {
- private DatosPersonales empleado;
- private DatosPersonales copia;
- private int PagaMensual;
- private int PagaAnual;
- public EmpleadoComision(String nombre, int comunidad, int hijos){
- empleado= new DatosPersonales(nombre,comunidad,hijos);
- copia=new DatosPersonales("indefinido",0,0);
- PagaMensual=0;
- PagaAnual=0;
- }
- public EmpleadoComision(DatosPersonales dp){
- empleado=dp;
- copia=new DatosPersonales("indefinido",0,0);
- PagaMensual=0;
- PagaAnual=0;
- }
- /**
- * Devuelve un identificador que es el código del objeto asignado por la
- * JVM.
- */
- public int getIdentificador(){
- return hashCode();
- }
- public int getPagaMensual(){
- return PagaMensual;
- }
- public void resetPagaMensual(){
- PagaAnual+=PagaMensual;
- }
- public int getPagaAnual(){
- PagaAnual+=PagaMensual;
- return PagaAnual;
- }
- public void resetPagaAnual(){
- PagaAnual=0;
- }
- /**
- * Añade una comisión a las ganacias mensuales del empleado.
- * @param comision
- * @return Constantes.NoError si todo va bien,
- * Constantes.ErrorArgumentoNoValido si comision < 0.
- */
- public int aniadirComision(int comision){
- if(comision<0){
- return Constantes.ErrorArgumentoNoValido;
- }
- PagaMensual +=comision;
- PagaAnual+=PagaMensual;
- return Constantes.NoError;
- }
- public void setDatosPersonales(DatosPersonales dp){
- copia=dp.getCopia();
- }
- public DatosPersonales getDatosPersonales(){
- return empleado;
- }
- public void desplegarIU(){
- int opcion=0;
- do{
- System.out.println("\n");
- System.out.println("Elija una opción: ");
- System.out.println("1> Cambiar Datos personales. ");
- System.out.println("2> Mostrar paga mensual acumulada. ");
- System.out.println("3> Añadir comisión. ");
- System.out.println("4> Paga mensual a cero. ");
- System.out.println("5> Mostrar paga anual acumulada. ");
- System.out.println("6> Mostrar Datos. ");
- System.out.println("7> Salir. ");
- System.out.println();
- opcion = Teclado.readInt();
- switch(opcion){
- case 1:
- System.out.print("Nombre: ");
- empleado.setNombre(Teclado.readString());
- System.out.print("\nId Comunidad: ");
- empleado.setComunidad(Teclado.readInt());
- System.out.print("\nNúmero de hijos: ");
- empleado.setHijos(Teclado.readInt());
- //Hacemos copia
- setDatosPersonales(empleado);
- break;
- case 2:
- System.out.print("La paga mensual acumulada es: "+PagaMensual);
- getPagaMensual();
- break;
- case 3:
- System.out.println("Cantidad a añadir: ");
- aniadirComision(Teclado.readInt());
- break;
- case 4:
- resetPagaMensual();
- System.out.println("Paga mensual reseteada");
- break;
- case 5:
- System.out.print("La paga anual acumulada es: "+PagaAnual+" €");
- getPagaAnual();
- break;
- case 6: System.out.println(this);
- break;
- case 7: System.out.println("\n");
- break;
- default: System.out.println("Opción no definida");
- break;
- }
- }while(opcion!=8);
- }
- public String toString(){
- return "-------------------------------------\n" +
- "Nombre: " + empleado.getNombre() + "\n" +
- "CA: " + Constantes.getNombreComunidad(empleado.getComunidad()) + "\n" +
- "Hijos: " + empleado.getNroHijos() + "\n" +
- "PagaMensual: " + PagaMensual +" €"+ "\n" +
- "Paga anual: " + PagaAnual +" €"+ "\n"+
- "-------------------------------------\n";
- }
- public static void main(String [] args){
- IEmpleado e = new EmpleadoComision("Pilar Mónica de Berlín", 9, 1);
- e.desplegarIU();
- }
- }
Add Comment
Please, Sign In to add comment