Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Hacer un programa en java que implemente la clase Impresora. Tendrá como atributos miembros
- los siguientes: contador de páginas impresas, número máximo de impresiones (que será la
- capacidad del tóner) y estado de la impresora (encendida o apagada).
- Y además tendrá los siguientes métodos:
- • Constructor parametrizado(no máximo de impresiones,estado).
- • imprimir: imprimirá las páginas que reciba como argumento. Deberá comprobar el estado
- del tóner, si éste se encuentra por debajo del 1% avisará para la sustitución del mismo y si
- la impresora está encendida o no.
- • apagarImpresora: Apagará la impresora.
- • encenderImpresora: Encenderá la impresora.
- • estadoToner: método que muestra en % el estado del tóner.
- • mostrar: mostrará la información relativa a la impresora, estado del tóner, si está
- encendida o apagada y contador de páginas impresas.
- Por último, haga un pequeño menú que ilustre el funcionamiento de la misma, tal y como este:
- 1. Crear impresora
- 2. Encender impresora
- 3. Apagar impresora
- 4. Imprimir
- 5. Consultar
- */
- package ejercicio_clases;
- import java.util.Scanner;
- public class impresora {
- private int cont_pag;
- private final int max_imp;
- private boolean encendido;
- /*• Constructor parametrizado(no máximo de impresiones,estado).*/
- public impresora(int max_imp,boolean estado){
- this.max_imp=max_imp;
- this.encendido=estado;
- }
- /*imprimir: imprimirá las páginas que reciba como argumento. Deberá comprobar el estado
- del tóner, si éste se encuentra por debajo del 1% avisará para la sustitución del mismo y si
- la impresora está encendida o no.*/
- public int imprimir(int p, int cont, boolean estado){
- double preporcent, posporcent;
- boolean encender;
- preporcent=estadoToner(cont);
- System.out.println("Estado correcto del toner "+preporcent+"%");
- posporcent=estadoToner(cont+p);
- if (posporcent<=1) {
- System.out.println("Cantidad insuficiente, por favor sustituya el toner");
- p=0;
- }else{
- System.out.println("Tras impresion, toner: "+posporcent+"%");
- }
- if (!encendido) {
- System.out.println("Dispositivo apagado, ¿Quiere encender para imprimir?(true=si/false=no)");
- encender=new Scanner(System.in).nextBoolean();
- if (encender) {
- encenderImpresora(estado);
- }else{
- p=0;
- }
- }
- return cont_pag+=p;
- }
- /*• estadoToner: método que muestra en % el estado del tóner.*/
- public double estadoToner(int cont){
- return 100-((double)cont*100/(double)max_imp);
- }
- /*• encenderImpresora: Encenderá la impresora.*/
- public boolean encenderImpresora(boolean estado){
- return encendido=estado;
- }
- /*• apagarImpresora: Apagará la impresora.*/
- public boolean apagarImpresora(boolean estado){
- return encendido=estado;
- }
- /*• mostrar: mostrará la información relativa a la impresora, estado del tóner, si está*/
- public void mostrar(boolean estado, int cont){
- System.out.println("estado del toner "+estadoToner(cont)+"%");
- if (encendido) {
- System.out.println("Impresora encendida");
- }else{
- System.out.println("Impresora apagada");
- }
- System.out.println("Se han impreso "+cont+" paginas");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement