domingo, 12 de junio de 2011

Deitel_Java_5.25 (Imprimir un Rombo de Tamaño Arbitrario)

5.24 Modifique la aplicación que escribió en el ejercicio 5.24, para que lea un número impar en el rango de 1 a 19, de manera que especifique el número de filas del rombo. Su programa deberá entonces mostrar un rombo del tamaño apropiado.

Este programa es en esencia el mismo que Deitel_5.24. Sólo se ha añadido un pequeño ciclo while que recibe el número impar, el cual no se ha limitado a estar entre 1 y 19, sino a cualquier impar. Depende el usuario introducir un numero que pueda ser desplegado en su pantalla.
Una salida es la que sigue:

         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************
 *****************
  ***************
   *************
    ***********
     *********
      *******
       *****
        ***
         *

El siguiente código debe guardarse como UsaDeitel_5_25.java
  public class UsaDeitel_5_24

  {       // Abre clase publica UsaDeitel_5_24
  
  public static void main(String args[])
  {     // Abre main
  
  Deitel_5_24 miObjeto = new Deitel_5_24();

  // Se llama metodo Imprime()

  miObjeto.Imprime();

  }     // Cierra main
  }       // Cierra clase publica UsaDeitel_5_24




El siguiente código debe guardarse como Deitel_5_25.java 

  
   import java.util.Scanner;


   public class Deitel_5_24

   {         // Abre clase Deitel_5_24

   private int Tamano = 9;

     
   // la varibale Tamano controla la diagonal del rombo


       // Se define el metodo Imprime
   public void Imprime()
   {     // Abre metodo Imprime
   
   Scanner entrada = new Scanner(System.in);
   int x = 4// 4 no tiene ningun sentido especial
               // se puede usar cualquier numero par

   System.out.print("\nEste programa despliega un rombo en la pantalla.");

   while ( x % 2 == 0 )
   {   // Abre while

   System.out.println("\nPor favor introduzca un entero impar que definira su dimension: ");
   x = entrada.nextInt();

   }     // Cierra while

   Tamano = x;

   System.out.println("\nAqui esta el rombo: \n\n");

   for ( int i = 1; i <= ((Tamano/2) + 1); i ++ )
   {   // Abre for
          
   for ( int  k = 1; k <= Tamano / 2 - i + 1; k++ )
   System.out.printf(" ");
                         
   // Este ciclo imprime el triangulo superior       
   for ( int j = (Tamano / 2) - i + 2; j <= (Tamano / 2) + i; j++ )  
   System.out.printf("*");


   System.out.printf("\n"); 
    
   }   // Cierra for


   // Abre segundo for, que imprime el triangulo de abajo

   for ( int l = 1; l <= Tamano / 2; l++ )
   {    // Abre for que imprime el segundo triangulo
   
   // Se imprimen los espacios

   for( int m = 1; m <= l; m++ )
   {     // Abre for
   
   System.out.printf(" "); 
   
   }     // Cierra for 

   for (int n = l + 1; n <= Tamano - l  ; n++)
   System.out.printf("*");

    
   System.out.println();

   }    // Cierra for que imprime el segundo triangulo

   }     // Cierra metodo Imprime
   }         // Cierra clase Deitel_5_24



3 comentarios:

  1. Si quisiera meter numero par como quedaría el código saludos

    ResponderEliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. Alguien que me ayude a hacer esto con funciones y for añidados porfa si ingreso 1 +--+
    |<>|
    +--+
    Y si ingreso 2
    +----+
    | /\ |
    |<-->|
    | \/ |
    +----+
    Y si es 4
    +--------+
    | /\ |
    | /--\ |
    | /====\ |
    |<------>|
    | \====/ |
    | \--/ |
    | \/ |
    +--------+


    ResponderEliminar

Related Posts Plugin for WordPress, Blogger...