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.*;
- import java.util.concurrent.TimeUnit;
- public class Ejercicio_clases {
- public static void main(String[] args) throws InterruptedException {
- Scanner sc= new Scanner(System.in);
- int capacidad=0, cont_imp=0;
- int indice;
- boolean estado=true;
- do{
- System.out.println(" ");
- menu();
- System.out.print("Elija opcion: ");
- indice=sc.nextInt();
- impresora canon= new impresora(capacidad, estado);
- switch(indice){
- case 1:
- System.out.println("Introduzca capacidad maxima de impresion");
- capacidad=sc.nextInt();
- System.out.println("Si estara encendida true o false si apagada True/False");
- estado=sc.nextBoolean();
- canon= new impresora(capacidad, estado);
- System.out.println("Creando impresora");
- retardo(sc);
- System.out.println("Impresora creada");
- break;
- case 2:
- if(estado){
- System.out.println("La maquina ya esta encendida");
- }else{
- estado=true;
- canon.encenderImpresora(estado);
- System.out.println("Encendiendo impresora");
- }
- retardo(sc);
- break;
- case 3:
- if(!estado){
- System.out.println("La maquina ya esta apagada");
- }else{
- estado=false;
- canon.apagarImpresora(estado);
- System.out.println("Apagando impresora");
- }
- retardo(sc);
- break;
- case 4:
- int p;
- System.out.println("¿Numero de paginas a imprimir?");
- p=sc.nextInt();
- if (p<1) {
- System.out.println("Error. No se pueden imprimir menos de 1 pagina");
- }else{
- estado=true;
- cont_imp+=canon.imprimir(p, cont_imp, estado);
- }
- retardo(sc);
- break;
- case 5:
- System.out.println("El estado del toner es de "+canon.estadoToner(cont_imp)+"%");
- retardo(sc);
- break;
- case 6:
- canon.mostrar(estado, cont_imp);
- retardo(sc);
- break;
- case 7:
- System.out.println("Saliendo del menu");
- retardo(sc);
- break;
- default:
- System.out.println("Numero no valido");
- retardo(sc);
- break;
- }
- }while(indice!=7);
- }
- public static void menu(){
- System.out.println("1.Crear Impresora");
- System.out.println("2.Encender");
- System.out.println("3.Apagar");
- System.out.println("4.Imprimir");
- System.out.println("5.Consultar toner");
- System.out.println("6.Mostrar info del estado");
- System.out.println("7.Salir");
- System.out.println("‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐");
- }
- /*Animacion de retraso en operacion*/
- public static void retardo(Scanner sc) throws InterruptedException{
- for (int i = 0; i < 5; i++) {
- TimeUnit.SECONDS.sleep(1);
- System.out.print("*");
- }
- System.out.println(" ");
- System.out.println("Pulse INTRO para continuar");
- sc.nextLine();
- sc.nextLine();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement