Advertisement
JoseLargo

Untitled

Feb 22nd, 2017
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.49 KB | None | 0 0
  1. /*
  2. Hacer un programa en java que implemente la clase Impresora. Tendrá como atributos miembros
  3. los siguientes: contador de páginas impresas, número máximo de impresiones (que será la
  4. capacidad del tóner) y estado de la impresora (encendida o apagada).
  5. Y además tendrá los siguientes métodos:
  6. • Constructor parametrizado(no máximo de impresiones,estado).
  7. • imprimir: imprimirá las páginas que reciba como argumento. Deberá comprobar el estado
  8. del tóner, si éste se encuentra por debajo del 1% avisará para la sustitución del mismo y si
  9. la impresora está encendida o no.
  10. • apagarImpresora: Apagará la impresora.
  11. • encenderImpresora: Encenderá la impresora.
  12. • estadoToner: método que muestra en % el estado del tóner.
  13. • mostrar: mostrará la información relativa a la impresora, estado del tóner, si está
  14. encendida o apagada y contador de páginas impresas.
  15. Por último, haga un pequeño menú que ilustre el funcionamiento de la misma, tal y como este:
  16. 1. Crear impresora
  17. 2. Encender impresora
  18. 3. Apagar impresora
  19. 4. Imprimir
  20. 5. Consultar
  21. */
  22.  
  23. package ejercicio_clases;
  24. import java.util.Scanner;
  25. public class impresora {
  26.    
  27.     private int cont_pag;
  28.     private final int max_imp;
  29.     private boolean encendido;
  30.    
  31.     /*• Constructor parametrizado(no máximo de impresiones,estado).*/
  32.     public impresora(int max_imp,boolean estado){
  33.         this.max_imp=max_imp;
  34.         this.encendido=estado;
  35.     }
  36.    
  37.     /*imprimir: imprimirá las páginas que reciba como argumento. Deberá comprobar el estado
  38. del tóner, si éste se encuentra por debajo del 1% avisará para la sustitución del mismo y si
  39. la impresora está encendida o no.*/
  40.     public int imprimir(int p, int cont, boolean estado){
  41.         double preporcent, posporcent;
  42.         boolean encender;
  43.         preporcent=estadoToner(cont);
  44.         System.out.println("Estado correcto del toner "+preporcent+"%");
  45.         posporcent=estadoToner(cont+p);
  46.         if (posporcent<=1) {
  47.             System.out.println("Cantidad insuficiente, por favor sustituya el toner");
  48.             p=0;
  49.         }else{
  50.             System.out.println("Tras impresion, toner: "+posporcent+"%");
  51.         }
  52.         if (!encendido) {
  53.             System.out.println("Dispositivo apagado, ¿Quiere encender para imprimir?(true=si/false=no)");
  54.             encender=new Scanner(System.in).nextBoolean();
  55.             if (encender) {
  56.                 encenderImpresora(estado);
  57.             }else{
  58.                 p=0;
  59.             }
  60.         }
  61.         return cont_pag+=p;
  62.     }
  63.    
  64.     /*• estadoToner: método que muestra en % el estado del tóner.*/
  65.     public double estadoToner(int cont){
  66.         return 100-((double)cont*100/(double)max_imp);
  67.     }
  68.    
  69.     /*• encenderImpresora: Encenderá la impresora.*/
  70.     public boolean encenderImpresora(boolean estado){
  71.         return encendido=estado;
  72.     }
  73.    
  74.     /*• apagarImpresora: Apagará la impresora.*/
  75.     public boolean apagarImpresora(boolean estado){
  76.         return encendido=estado;
  77.     }
  78.    
  79.     /*• mostrar: mostrará la información relativa a la impresora, estado del tóner, si está*/
  80.     public void mostrar(boolean estado, int cont){
  81.         System.out.println("estado del toner "+estadoToner(cont)+"%");
  82.         if (encendido) {
  83.             System.out.println("Impresora encendida");
  84.         }else{
  85.             System.out.println("Impresora apagada");
  86.         }
  87.         System.out.println("Se han impreso "+cont+" paginas");
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement