Advertisement
Guest User

ExMiguelRodriguezLopez.java

a guest
Nov 22nd, 2014
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.96 KB | None | 0 0
  1. /**
  2. * 1. El código no sólo ha de compilar y funcionar según estas disposiciones, sino que ha de ser legible y eficiente, sin redundancia y con una finalidad clara.
  3. * 2. En tu sistema de archivos crea la carpeta "exNombreApellido1Apellido2". Contendrá los ficheros "Teclado.java" y "exNombreApellido1Apellido2.java".
  4. * 3. Genera la documentación javadoc y entrégala junto con el resto de los documentos. Para ello:
  5. * a. La clase ha de tener su comentario junto con el nombre del autor correctamente identificado según javadoc
  6. * b. Documenta también los métodos
  7. * 4. Entrega la carpeta completa (código fuente y documentación generada) comprimida en un fichero exNombreApellido1Apellido2
  8. * 5. La conexión a la red queda TERMINANTEMENTE PROHIBIDA. Sólo podrá utilizarse para la descarga y para la entrega del examen.
  9. * 6. El uso de cualquier otro material queda TERMINANTEMENTE PROHIBIDO.
  10. * 7. El código será generado por el alumno en el momento del examen, por lo que ha de ser eficiente.
  11. * 8. Podrá utilizarse el editor de textos sublime, notepad++ o similar
  12. *
  13. * @author Miguel Rodriguez Lopez
  14. * @version 1.0
  15. */
  16. class ExMiguelRodriguezLopez{
  17.     public static void main(String[] args) {
  18.         int opcion;
  19.         do{
  20.             mostrarMenu();
  21.             opcion = recogerOpcionMenu(0,5);
  22.             realizarOpcionMenu(opcion);
  23.         }while(opcion!=0);
  24.     }//main
  25.  
  26.     /**
  27.     * Metodo que mostrará el menú
  28.     */
  29.     static void mostrarMenu(){
  30.         System.out.println("\n\n\nBienvenido al examen de programacion. Elige una opcion: ");
  31.         System.out.println("0. Salir");
  32.         System.out.println("1. El triple de un numero");
  33.         System.out.println("2. Dibuja un cuadrado, se pedira una dimension entre 3 y 9");      
  34.         System.out.println("3. Es consonante o vocal?");
  35.         System.out.println("4. Mostrar hasta que sea mayor que 0.95");
  36.         System.out.println("5. 80 primeros numeros multiplos de 7 impares");
  37.     }//mostrarMenu
  38.  
  39.     /**
  40.     * Pide al usuario un numero entre un maximo y un minimo
  41.     * @param min numero minimo del rango a elegir
  42.     * @param max numero maximo del rango a elegir
  43.     * @return numero entero elegido por el usuario
  44.     */
  45.     static int recogerOpcionMenu(int min, int max){
  46.         int opcion;
  47.         do{
  48.             opcion = Teclado.leerEntero("Introduce un entero entre "+ min + " y " + max +":");
  49.         }while(opcion<min || opcion>max);
  50.         return opcion;
  51.     }//recogerOpcionMenu
  52.  
  53.     /**
  54.     * Realiza una opcion segun el parametro introducido
  55.     * @param opcion elegida que se va a realizar
  56.     */
  57.     static void realizarOpcionMenu(int opcion){
  58.         switch(opcion){
  59.             case 0:
  60.                 System.out.println("Adios...");
  61.                 break;
  62.             case 1:
  63.                 calcularTriple();
  64.                 break;
  65.             case 2:
  66.                 int dimension = pedirDimension(3,9);
  67.                 dibujarCuadrado(dimension);
  68.                 break;
  69.             case 3:
  70.                 consonanteOVocal();
  71.                 break;
  72.             case 4:
  73.                 casiUno();
  74.                 break;
  75.             case 5:
  76.                 multiplosImpares();
  77.                 break;
  78.             default:
  79.                 System.out.println("Error, la opcion debe estar entre 0 y 5");
  80.         }
  81.     }//realizarOpcionMenu
  82.  
  83.     /**
  84.     * Pide un numero por teclado y muestra el triple de dicho numero
  85.     */
  86.     static void calcularTriple(){
  87.         int numero = Teclado.leerEntero("Introduce un numero entero:");
  88.         int triple = numero * 3;
  89.         System.out.println(triple);
  90.     }
  91.  
  92.     /**
  93.     * Dibuja un cuadrado con una dimension especifica
  94.     * @param dimension introducida
  95.     */
  96.     static void dibujarCuadrado(int dimension){
  97.         String primeraYUltimaLinea = "";
  98.         String lineasIntermedias = "";
  99.  
  100.         //Preparacion de los string para visualizar el cuadrado
  101.         for (int i = 0; i<dimension; i++)
  102.             primeraYUltimaLinea += "*";
  103.        
  104.         lineasIntermedias += "*";
  105.         for (int i = 0; i<dimension-2; i++)
  106.             lineasIntermedias += " ";
  107.         lineasIntermedias += "*";
  108.  
  109.         //Dibujar Cuadrado
  110.         System.out.println(primeraYUltimaLinea);
  111.         for (int i = 0; i<dimension-2; i++)
  112.             System.out.println(lineasIntermedias);
  113.         System.out.println(primeraYUltimaLinea);
  114.     }//dibujarCuadrado
  115.  
  116.     /**
  117.     * Pide al usuario la dimension de un cuadrado entre un maximo y un minimo
  118.     * Reutilizacion de codigo de recogerOpcionMenu
  119.     * @param min numero minimo del rango a elegir
  120.     * @param max numero maximo del rango a elegir
  121.     * @return numero entero elegido por el usuario
  122.     */
  123.     static int pedirDimension(int min, int max){
  124.         int opcion;
  125.         do{
  126.             opcion = Teclado.leerEntero("Introduce la dimension entre "+ min + " y " + max +":");
  127.         }while(opcion<min || opcion>max);
  128.         return opcion;
  129.     }//pedirDimension
  130.  
  131.     /**
  132.     * Pide caracteres por teclado y muestra si son vocales, consonantes o no son letras. Sale al introducir un asterisco.
  133.     */
  134.     static void consonanteOVocal(){
  135.         char caracter;
  136.         do{
  137.             caracter = Teclado.leerCaracter("Dame una letra del abecedario. Te dire si es consonante o vocal. Para salir introduce '*'.");
  138.             switch(Character.toLowerCase(caracter)){
  139.                 case 'a':   case 'e':   case 'i':   case 'o':   case 'u':
  140.                     System.out.println("Es vocal.");
  141.                     break;
  142.                 case 'b':   case 'c':   case 'd':   case 'f':   case 'g':   case 'h':   case 'j':   case 'k':   case 'l':   case 'm':  
  143.                 case 'n':   case 'p':   case 'q':   case 'r':   case 's':   case 't':   case 'v':   case 'w':   case 'x':   case 'y':  
  144.                 case 'z':  
  145.                     System.out.println("Es consonante.");
  146.                     break;
  147.                 default:
  148.                     System.out.println("No es una letra del abecedario.");
  149.             }
  150.            
  151.         }while(caracter!='*');
  152.        
  153.     }//consonanteOVocal
  154.  
  155.     /**
  156.     * Muestra numeros aleatorios hasta que haya uno que sea mayor que 0.95
  157.     */
  158.     static void casiUno(){
  159.         int contador = 0;
  160.         double aleatorio = Math.random();
  161.  
  162.         while(aleatorio<0.95){
  163.             System.out.print(aleatorio + "\t");
  164.             contador++;
  165.             aleatorio = Math.random();
  166.         }
  167.         System.out.println("\nContador: "+ contador);
  168.     }//casiUno
  169.  
  170.     /**
  171.     * Muestra los 80 primero multiplos impares de 7
  172.     */
  173.     static void multiplosImpares(){
  174.         System.out.println("80 primeros numeros multiplos de 7 impares: ");
  175.         int multiplo=7;
  176.         for (int contador = 0; contador < 80 ; contador++) {
  177.             while (multiplo%2==0 || multiplo%7!=0)
  178.                 multiplo++;
  179.             System.out.print(multiplo + "\t");
  180.             multiplo++;
  181.         }
  182.     }//multiplosImpares
  183. }//ExMiguelRodriguezLopez
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement