Advertisement
JoseLargo

Untitled

Apr 6th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.72 KB | None | 0 0
  1.  
  2. package ejinterfaz;
  3.  
  4. /**
  5.  *
  6.  * @author Pepe
  7.  * @version version1.0
  8.  */
  9. import java.util.*;
  10. import java.util.concurrent.TimeUnit;
  11. public class EjInterfaz {
  12.  
  13.     /**
  14.      * @param args the command line arguments
  15.      * @throws java.lang.InterruptedException
  16.      */
  17.    
  18.     public static void main(String[] args) throws InterruptedException {
  19.         int indice, hor =0, ver=0;
  20.         double tamaño=0;
  21.         String marca=null;
  22.         Scanner sc= new Scanner(System.in);
  23.        
  24.         System.out.println("Cree monitor inicial con el que comparar");
  25.         System.out.println("Introduzca la marca de periferico");
  26.         marca=sc.nextLine();
  27.         System.out.println("Introduzca tamaño del monitor");
  28.         tamaño=sc.nextInt();
  29.         System.out.println("Introduce pixeles horizontales seguido de verticales");
  30.         hor=sc.nextInt();
  31.         ver=sc.nextInt();
  32.        
  33.         Monitor m2= new Monitor (tamaño,hor,ver,marca);
  34.        
  35.        
  36.        
  37.         do{
  38.             menu();
  39.             indice=sc.nextInt();
  40.             switch(indice){
  41.                 case 0:
  42.                     System.out.println("Saliendo");
  43.                     break;
  44.                 case 1:
  45.                     System.out.println("Introduzca la marca de periferico");
  46.                     marca=sc.nextLine();
  47.                     marca=sc.nextLine();
  48.                     System.out.println("Introduzca tamaño del monitor");
  49.                     tamaño=sc.nextInt();
  50.                     System.out.println("Introduce pixeles horizontales seguido de verticales");
  51.                     hor=sc.nextInt();
  52.                     ver=sc.nextInt();
  53.                     Monitor m= new Monitor (tamaño,hor,ver,marca);
  54.                     break;
  55.                 case 2:
  56.                     m= new Monitor (tamaño,hor,ver,marca);
  57.                     System.out.println("¿Es mejor?: "+m.esMejorQue(m2));
  58.                     break;
  59.                 case 3:
  60.                     m= new Monitor (tamaño,hor,ver,marca);
  61.                     System.out.println("¿Es peor?: "+m.esPeorQue(m2));
  62.                     break;
  63.                 case 4:
  64.                     m= new Monitor (tamaño,hor,ver,marca);
  65.                     System.out.println("¿Es Igual?: "+m.esIgualQue(m2));
  66.                     break;
  67.                 case 5:
  68.                     m= new Monitor (tamaño,hor,ver,marca);
  69.                     m.mostrar();
  70.                     break;
  71.                 default:
  72.                     System.out.println("Numero no valido");
  73.             }
  74.         }while(indice!=0);
  75.        
  76.        
  77.     }
  78.        
  79.     public static void menu() throws InterruptedException {
  80.         delay();
  81.         System.out.println(" ");
  82.         System.out.println("1.  Crear Monitor\n"
  83.                         +  "2.  ¿Es mejor?\n"
  84.                         +  "3.  ¿Es peor?\n"
  85.                         +  "4.  ¿Es igual?\n"
  86.                         +  "5.  Mostrar \n"
  87.                         +  "    Salir ----> 0");
  88.         delay();
  89.     }
  90.      public static void delay() throws InterruptedException{
  91.          for (int i = 0; i < 3; i++) {
  92.             System.out.print("* * * ");
  93.             TimeUnit.SECONDS.sleep(1);
  94.         }
  95.         System.out.println(" ");
  96.      }
  97.    
  98. }
  99.  
  100.  
  101.  
  102.  
  103. /*
  104. Por otro lado tenemos la clase Monitor que hereda de periférico y que posee la siguiente
  105. definición:
  106. Atributos:
  107. • tamano, de tipo privado que expresa el tamaño en pulgadas del monitor.
  108. • numPixelHor, número de pixel en la horizontal de tipo privado.
  109. • numPixelVert, número de pixels en la vertical de tipo privado
  110. Métodos:
  111. • Constructor parametrizado
  112. • Métodos getters para los tres atributos.
  113. • Método obtener resolución, que devolverá la resolución del monitor en megapixels.
  114. • Método mostrar, que mostrará la siguiente información del monitor: marca, tamaño y
  115. resolución del monitor en megapixels.
  116.  */
  117. package ejinterfaz;
  118.  
  119. /**
  120.  *
  121.  * @author Pepe
  122.  * @version version1.0
  123.  */
  124. public class Monitor extends Periferico implements Comparador{
  125.     private double tamaño;
  126.     private int numPixelHor;
  127.     private int numPixelVer;
  128.  
  129.    
  130.     /**
  131.      *
  132.      * @param tamaño, variable que recoge el tamaño de un monitor
  133.      * @param numPixelHor, cantidad de pixeles en el eje horizontal
  134.      * @param numPixelVer, cantidad de pixeles en el eje vertical
  135.      * @param marca, variable heredada de periferico, que recoge la marca
  136.      */
  137.     public Monitor(double tamaño, int numPixelHor, int numPixelVer, String marca) {
  138.         super(marca);
  139.         this.tamaño = tamaño;
  140.         this.numPixelVer = numPixelVer;
  141.         this.numPixelHor = numPixelHor;
  142.     }
  143.  
  144.     public double getTamaño() {
  145.         return tamaño;
  146.     }
  147.  
  148.     public void setTamaño(double tamaño) {
  149.         this.tamaño = tamaño;
  150.     }
  151.  
  152.     public int getNumPixelHor() {
  153.         return numPixelHor;
  154.     }
  155.  
  156.     public void setNumPixelHor(int numPixelHor) {
  157.         this.numPixelHor = numPixelHor;
  158.     }
  159.  
  160.     public int getNumPixelVer() {
  161.         return numPixelVer;
  162.     }
  163.  
  164.     public void setNumPixelVer(int numPixelVer) {
  165.         this.numPixelVer = numPixelVer;
  166.     }
  167.     public double obtenerResolucion(){
  168.         return ((double)numPixelHor*(double)numPixelVer)/1000000;
  169.     }
  170.    
  171.     public void mostrar(){
  172.         super.mostrar();
  173.         System.out.println("Tamaño: "+tamaño);
  174.         System.out.println("La resolución es: "+obtenerResolucion());
  175.     }
  176.    
  177.     @Override
  178.     public boolean esMejorQue(Object o){
  179.         if( obtenerResolucion()> ((Monitor)o).obtenerResolucion()){
  180.             return true;
  181.         }
  182.         return false;
  183.     }
  184.     @Override
  185.     public boolean esPeorQue(Object o){
  186.         if( obtenerResolucion()<((Monitor)o).obtenerResolucion()){
  187.             return true;
  188.         }
  189.         return false;
  190.     }
  191.    
  192.     @Override
  193.     public boolean esIgualQue(Object o){
  194.         if( obtenerResolucion()==((Monitor)o).obtenerResolucion()){
  195.             return true;
  196.         }
  197.         return false;
  198.     }
  199.    
  200. }
  201.  
  202.  
  203.  
  204. /*
  205. Ejercicio (Interface)
  206. Tenemos una clase Períferico que representa todos los periféricos que podemos conectar a un
  207. ordenador (monitores, impresoras, teclados, ratones, auriculares,...etc) y que posee los siguientes
  208. atributos y métodos:
  209. Atributos:
  210. • marca, de tipo privado que se corresponde con la marca del periférico.
  211. Métodos:
  212. • Constructor parametrizado
  213. • Método get, que devuelve el valor del atributo marca
  214. • Método mostrar que muestra por pantalla la marca del periférico.
  215.  */
  216. package ejinterfaz;
  217.  
  218. /**
  219.  *
  220.  * @author Pepeç
  221.  * @version version1.0
  222.  */
  223. public class Periferico {
  224.     protected String marca;
  225.     /**
  226.      *
  227.      * @param marca variable que recoge la marca de un periferico
  228.      */
  229.  
  230.     public Periferico(String marca) {
  231.         this.marca = marca;
  232.     }
  233.  
  234.     public String getMarca() {
  235.         return marca;
  236.     }
  237.    
  238.     public void mostrar(){
  239.         System.out.println("La marca es: "+marca);
  240.     }
  241. }
  242.  
  243.  
  244. /*
  245. Por otro lado, sabemos que todos los periféricos son Comparables, y comparar un monitor implica
  246. comparar su resolución en megapixels con las de otro monitor y el que posea mayor resolución es
  247. mejor. Aplique una solución mediante interfaces que le permita determinar si un monitor es mejor
  248. que otro, es peor que otro o son de iguales características. La interfaz deberá declarar estos tres
  249. métodos:
  250. • esMejorQue(Object o)
  251. • esPeorQue(Object o)
  252. • esIgualQue(Object o)
  253.  */
  254. package ejinterfaz;
  255.  
  256. /**
  257.  *
  258.  * @author Pepe
  259.  * @version version1.0
  260.  */
  261. public interface Comparador {
  262.     public boolean esMejorQue (Object o);
  263.     public boolean esPeorQue (Object o);
  264.     public boolean esIgualQue (Object o);
  265. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement