Guest User

Untitled

a guest
May 20th, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.93 KB | None | 0 0
  1. package pf2011;
  2.  
  3. import utilidades.Teclado;
  4.  
  5. /**
  6. *
  7. * @author LSI, curso 2010/2011
  8. *
  9. */
  10. public class EmpleadoComision implements IEmpleado {
  11.  
  12. private DatosPersonales empleado;
  13. private DatosPersonales copia;
  14. private int PagaMensual;
  15. private int PagaAnual;
  16.  
  17.  
  18. public EmpleadoComision(String nombre, int comunidad, int hijos){
  19. empleado= new DatosPersonales(nombre,comunidad,hijos);
  20. copia=new DatosPersonales("indefinido",0,0);
  21. PagaMensual=0;
  22. PagaAnual=0;
  23. }
  24.  
  25. public EmpleadoComision(DatosPersonales dp){
  26. empleado=dp;
  27. copia=new DatosPersonales("indefinido",0,0);
  28. PagaMensual=0;
  29. PagaAnual=0;
  30. }
  31.  
  32. /**
  33. * Devuelve un identificador que es el código del objeto asignado por la
  34. * JVM.
  35. */
  36. public int getIdentificador(){
  37. return hashCode();
  38. }
  39.  
  40. public int getPagaMensual(){
  41. return PagaMensual;
  42. }
  43.  
  44. public void resetPagaMensual(){
  45. PagaAnual+=PagaMensual;
  46.  
  47. }
  48.  
  49. public int getPagaAnual(){
  50. PagaAnual+=PagaMensual;
  51. return PagaAnual;
  52. }
  53.  
  54. public void resetPagaAnual(){
  55. PagaAnual=0;
  56. }
  57.  
  58. /**
  59. * Añade una comisión a las ganacias mensuales del empleado.
  60. * @param comision
  61. * @return Constantes.NoError si todo va bien,
  62. * Constantes.ErrorArgumentoNoValido si comision < 0.
  63. */
  64. public int aniadirComision(int comision){
  65. if(comision<0){
  66. return Constantes.ErrorArgumentoNoValido;
  67. }
  68. PagaMensual +=comision;
  69. PagaAnual+=PagaMensual;
  70. return Constantes.NoError;
  71. }
  72.  
  73. public void setDatosPersonales(DatosPersonales dp){
  74. copia=dp.getCopia();
  75. }
  76.  
  77. public DatosPersonales getDatosPersonales(){
  78. return empleado;
  79. }
  80.  
  81. public void desplegarIU(){
  82. int opcion=0;
  83. do{
  84. System.out.println("\n");
  85. System.out.println("Elija una opción: ");
  86. System.out.println("1> Cambiar Datos personales. ");
  87. System.out.println("2> Mostrar paga mensual acumulada. ");
  88. System.out.println("3> Añadir comisión. ");
  89. System.out.println("4> Paga mensual a cero. ");
  90. System.out.println("5> Mostrar paga anual acumulada. ");
  91. System.out.println("6> Mostrar Datos. ");
  92. System.out.println("7> Salir. ");
  93. System.out.println();
  94.  
  95. opcion = Teclado.readInt();
  96. switch(opcion){
  97. case 1:
  98. System.out.print("Nombre: ");
  99. empleado.setNombre(Teclado.readString());
  100. System.out.print("\nId Comunidad: ");
  101. empleado.setComunidad(Teclado.readInt());
  102. System.out.print("\nNúmero de hijos: ");
  103. empleado.setHijos(Teclado.readInt());
  104.  
  105. //Hacemos copia
  106. setDatosPersonales(empleado);
  107. break;
  108. case 2:
  109. System.out.print("La paga mensual acumulada es: "+PagaMensual);
  110. getPagaMensual();
  111. break;
  112. case 3:
  113. System.out.println("Cantidad a añadir: ");
  114. aniadirComision(Teclado.readInt());
  115. break;
  116. case 4:
  117. resetPagaMensual();
  118. System.out.println("Paga mensual reseteada");
  119. break;
  120. case 5:
  121. System.out.print("La paga anual acumulada es: "+PagaAnual+" €");
  122. getPagaAnual();
  123. break;
  124. case 6: System.out.println(this);
  125. break;
  126. case 7: System.out.println("\n");
  127. break;
  128. default: System.out.println("Opción no definida");
  129. break;
  130. }
  131. }while(opcion!=8);
  132. }
  133.  
  134.  
  135. public String toString(){
  136. return "-------------------------------------\n" +
  137. "Nombre: " + empleado.getNombre() + "\n" +
  138. "CA: " + Constantes.getNombreComunidad(empleado.getComunidad()) + "\n" +
  139. "Hijos: " + empleado.getNroHijos() + "\n" +
  140. "PagaMensual: " + PagaMensual +" €"+ "\n" +
  141. "Paga anual: " + PagaAnual +" €"+ "\n"+
  142. "-------------------------------------\n";
  143. }
  144.  
  145. public static void main(String [] args){
  146. IEmpleado e = new EmpleadoComision("Pilar Mónica de Berlín", 9, 1);
  147. e.desplegarIU();
  148. }
  149. }
Add Comment
Please, Sign In to add comment