Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/05/2012, 08:20
Avatar de Lalounam
Lalounam
 
Fecha de Ingreso: mayo-2012
Ubicación: México D.F.
Mensajes: 59
Antigüedad: 12 años
Puntos: 19
Respuesta: como crear la siguiente figura en java?

Código Javascript:
Ver original
  1. public class TriDrado {
  2.  
  3.     private int base;
  4.     private int altura;
  5.  
  6.     public void setDatos(int base, int altura) {
  7.         this.base = base;
  8.         this.altura = altura;
  9.     }
  10.  
  11.     public void pinta() {
  12.         final int centro = base / 2;
  13.         int alturaTri = 0;
  14.         for (int a = 0; a < altura; a++) {
  15.             if (a % 2 == 0)
  16.                 alturaTri++;
  17.             String line = "";
  18.             for (int b = 0; b < base; b++) {
  19.                 line = line
  20.                         .concat(a == 0
  21.                                 || a == (altura - 1)
  22.                                 || b == 0
  23.                                 || b == (base - 1)
  24.                                 || (b == (centro - alturaTri) || b == (centro + alturaTri)) ? "*"
  25.                                 : ("-"));
  26.             }
  27.             line = line.concat("\n");
  28.             System.out.println(line);
  29.         }
  30.     }
  31. }

El método pinta se ejecuta desde un main o algo así y te pinta algo como esto:

Código Javascript:
Ver original
  1. ***********
  2.  
  3. *---*-*---*
  4.  
  5. *--*---*--*
  6.  
  7. *--*---*--*
  8.  
  9. *-*-----*-*
  10.  
  11. *-*-----*-*
  12.  
  13. **-------**
  14.  
  15. **-------**
  16.  
  17. *---------*
  18.  
  19. ***********

Para que se vea bien obviamente la base debe ser impar, pero así me salió a mi, suerte