Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ejinterfaz;
- /**
- *
- * @author Pepe
- * @version version1.0
- */
- import java.util.*;
- import java.util.concurrent.TimeUnit;
- public class EjInterfaz {
- /**
- * @param args the command line arguments
- * @throws java.lang.InterruptedException
- */
- public static void main(String[] args) throws InterruptedException {
- int indice, hor =0, ver=0;
- double tamaño=0;
- String marca=null;
- Scanner sc= new Scanner(System.in);
- System.out.println("Cree monitor inicial con el que comparar");
- System.out.println("Introduzca la marca de periferico");
- marca=sc.nextLine();
- System.out.println("Introduzca tamaño del monitor");
- tamaño=sc.nextInt();
- System.out.println("Introduce pixeles horizontales seguido de verticales");
- hor=sc.nextInt();
- ver=sc.nextInt();
- Monitor m2= new Monitor (tamaño,hor,ver,marca);
- do{
- menu();
- indice=sc.nextInt();
- switch(indice){
- case 0:
- System.out.println("Saliendo");
- break;
- case 1:
- System.out.println("Introduzca la marca de periferico");
- marca=sc.nextLine();
- marca=sc.nextLine();
- System.out.println("Introduzca tamaño del monitor");
- tamaño=sc.nextInt();
- System.out.println("Introduce pixeles horizontales seguido de verticales");
- hor=sc.nextInt();
- ver=sc.nextInt();
- Monitor m= new Monitor (tamaño,hor,ver,marca);
- break;
- case 2:
- m= new Monitor (tamaño,hor,ver,marca);
- System.out.println("¿Es mejor?: "+m.esMejorQue(m2));
- break;
- case 3:
- m= new Monitor (tamaño,hor,ver,marca);
- System.out.println("¿Es peor?: "+m.esPeorQue(m2));
- break;
- case 4:
- m= new Monitor (tamaño,hor,ver,marca);
- System.out.println("¿Es Igual?: "+m.esIgualQue(m2));
- break;
- case 5:
- m= new Monitor (tamaño,hor,ver,marca);
- m.mostrar();
- break;
- default:
- System.out.println("Numero no valido");
- }
- }while(indice!=0);
- }
- public static void menu() throws InterruptedException {
- delay();
- System.out.println(" ");
- System.out.println("1. Crear Monitor\n"
- + "2. ¿Es mejor?\n"
- + "3. ¿Es peor?\n"
- + "4. ¿Es igual?\n"
- + "5. Mostrar \n"
- + " Salir ----> 0");
- delay();
- }
- public static void delay() throws InterruptedException{
- for (int i = 0; i < 3; i++) {
- System.out.print("* * * ");
- TimeUnit.SECONDS.sleep(1);
- }
- System.out.println(" ");
- }
- }
- /*
- Por otro lado tenemos la clase Monitor que hereda de periférico y que posee la siguiente
- definición:
- Atributos:
- • tamano, de tipo privado que expresa el tamaño en pulgadas del monitor.
- • numPixelHor, número de pixel en la horizontal de tipo privado.
- • numPixelVert, número de pixels en la vertical de tipo privado
- Métodos:
- • Constructor parametrizado
- • Métodos getters para los tres atributos.
- • Método obtener resolución, que devolverá la resolución del monitor en megapixels.
- • Método mostrar, que mostrará la siguiente información del monitor: marca, tamaño y
- resolución del monitor en megapixels.
- */
- package ejinterfaz;
- /**
- *
- * @author Pepe
- * @version version1.0
- */
- public class Monitor extends Periferico implements Comparador{
- private double tamaño;
- private int numPixelHor;
- private int numPixelVer;
- /**
- *
- * @param tamaño, variable que recoge el tamaño de un monitor
- * @param numPixelHor, cantidad de pixeles en el eje horizontal
- * @param numPixelVer, cantidad de pixeles en el eje vertical
- * @param marca, variable heredada de periferico, que recoge la marca
- */
- public Monitor(double tamaño, int numPixelHor, int numPixelVer, String marca) {
- super(marca);
- this.tamaño = tamaño;
- this.numPixelVer = numPixelVer;
- this.numPixelHor = numPixelHor;
- }
- public double getTamaño() {
- return tamaño;
- }
- public void setTamaño(double tamaño) {
- this.tamaño = tamaño;
- }
- public int getNumPixelHor() {
- return numPixelHor;
- }
- public void setNumPixelHor(int numPixelHor) {
- this.numPixelHor = numPixelHor;
- }
- public int getNumPixelVer() {
- return numPixelVer;
- }
- public void setNumPixelVer(int numPixelVer) {
- this.numPixelVer = numPixelVer;
- }
- public double obtenerResolucion(){
- return ((double)numPixelHor*(double)numPixelVer)/1000000;
- }
- public void mostrar(){
- super.mostrar();
- System.out.println("Tamaño: "+tamaño);
- System.out.println("La resolución es: "+obtenerResolucion());
- }
- @Override
- public boolean esMejorQue(Object o){
- if( obtenerResolucion()> ((Monitor)o).obtenerResolucion()){
- return true;
- }
- return false;
- }
- @Override
- public boolean esPeorQue(Object o){
- if( obtenerResolucion()<((Monitor)o).obtenerResolucion()){
- return true;
- }
- return false;
- }
- @Override
- public boolean esIgualQue(Object o){
- if( obtenerResolucion()==((Monitor)o).obtenerResolucion()){
- return true;
- }
- return false;
- }
- }
- /*
- Ejercicio (Interface)
- Tenemos una clase Períferico que representa todos los periféricos que podemos conectar a un
- ordenador (monitores, impresoras, teclados, ratones, auriculares,...etc) y que posee los siguientes
- atributos y métodos:
- Atributos:
- • marca, de tipo privado que se corresponde con la marca del periférico.
- Métodos:
- • Constructor parametrizado
- • Método get, que devuelve el valor del atributo marca
- • Método mostrar que muestra por pantalla la marca del periférico.
- */
- package ejinterfaz;
- /**
- *
- * @author Pepeç
- * @version version1.0
- */
- public class Periferico {
- protected String marca;
- /**
- *
- * @param marca variable que recoge la marca de un periferico
- */
- public Periferico(String marca) {
- this.marca = marca;
- }
- public String getMarca() {
- return marca;
- }
- public void mostrar(){
- System.out.println("La marca es: "+marca);
- }
- }
- /*
- Por otro lado, sabemos que todos los periféricos son Comparables, y comparar un monitor implica
- comparar su resolución en megapixels con las de otro monitor y el que posea mayor resolución es
- mejor. Aplique una solución mediante interfaces que le permita determinar si un monitor es mejor
- que otro, es peor que otro o son de iguales características. La interfaz deberá declarar estos tres
- métodos:
- • esMejorQue(Object o)
- • esPeorQue(Object o)
- • esIgualQue(Object o)
- */
- package ejinterfaz;
- /**
- *
- * @author Pepe
- * @version version1.0
- */
- public interface Comparador {
- public boolean esMejorQue (Object o);
- public boolean esPeorQue (Object o);
- public boolean esIgualQue (Object o);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement