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(nº 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 el estado del tóner.
- 6. Mostrar información del estado de la impresora.
- 7. Salir*/
- package impresora;
- import java.util.Scanner;
- import java.util.concurrent.TimeUnit;
- public class Main {
- public static void main(String[] args) throws InterruptedException {
- int maximo = 0;
- boolean estado = false;
- String cad;
- boolean fin = false;
- int menu;
- int contador = 0;
- Impresora imp1 = new Impresora(0, false);
- System.out.println("Asegúrese de crear la impresora antes de realizar otra acción");
- do {
- menu();
- System.out.print("Elige una opción: ");
- menu = new Scanner(System.in).nextInt();
- switch (menu) {
- /*Crear impresora*/
- case 1:
- maximo = capacidad();
- estado = estado(estado);
- imp1 = new Impresora(maximo, estado);
- System.out.println("Impresora creada");
- pausa();
- break;
- /*Encender impresora*/
- case 2:
- imp1.encenderImpresora();
- System.out.println("Impresora encendida");
- pausa();
- break;
- /*Apagar impresora*/
- case 3:
- imp1.apagarImpresora();
- System.out.println("Impresora apagada");
- pausa();
- break;
- /*Imprimir*/
- case 4:
- int paginas;
- System.out.print("Introduce el número de páginas a imprimir: ");
- paginas = new Scanner(System.in).nextInt();
- contador += paginas;
- imp1.imprimir(paginas);
- pausa();
- break;
- /*Estado del tóner*/
- case 5:
- System.out.println("Estado: " + imp1.estadoToner() + "%");
- pausa();
- break;
- /*Estado de la impresora*/
- case 6:
- imp1.mostrar();
- pausa();
- break;
- /*Salir*/
- case 7:
- System.out.println("Adiós");
- fin = true;
- break;
- default:
- System.out.println("Elige una opción correcta");
- pausa();
- break;
- }
- } while (!fin);
- }
- private static boolean estado(boolean estado) {
- String cad;
- System.out.print("Introduce el estado de la impresora (Apagada/Encendida): ");
- cad = new Scanner(System.in).nextLine();
- if (cad.toLowerCase().equals("encendida")) {
- estado = true;
- } else if(cad.toLowerCase().equals("apagada")){
- estado = false;
- }else{
- System.out.println("Introduzca un estado correcto");
- System.out.print("Introduce el estado de la impresora (Apagada/Encendida): ");
- cad = new Scanner(System.in).nextLine();
- }
- return estado;
- }
- private static int capacidad() {
- int maximo;
- System.out.print("Introduce la capacidad del tóner: ");
- maximo = new Scanner(System.in).nextInt();
- if (maximo <= 0) {
- System.out.println("Introduzca una cantidad correcto");
- System.out.print("Introduce la capacidad del tóner: ");
- maximo = new Scanner(System.in).nextInt();
- }
- return maximo;
- }
- /*Procedimiento que nos muestra un menú para elegir la opción que deseemos hacer*/
- public static void menu(){
- System.out.println("***************MENÚ***************");
- System.out.println("1. Crear impresora");
- System.out.println("2. Encender impresora");
- System.out.println("3. Apagar impresora");
- System.out.println("4. Imprimir");
- System.out.println("5. Consultar el estado del tóner");
- System.out.println("6. Mostrar información del estado de la impresora");
- System.out.println("7. Salir");
- System.out.println("**********************************");
- }
- /*Procedimiento que servirá para dejar un margen entre algunos mensajes*/
- public static void pausa() throws InterruptedException{
- TimeUnit.SECONDS.sleep(3);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement