5.24 Escriba una aplicación que imprima la siguiente figura de rombo. Puede utilizar instrucciones de salida que impriman un solo asterisco (*), un solo espacio o un solo carácter de nueva línea. Maximice el uso de la repetición ( con instrucciones for anidadas ), y minimice el número de instrucciones de salida.
****
*****
*******
*********
*******
*****
***
*
El siguiente código debe guardarse como UsaDeitel_5_24.java
Este programa puede imprimir un rombo de cualquier tamaño, sólo debe cambiarse la variable Tamano, cuidando que sea un entero impar.
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_24El siguiente código debe guardarse como UsaDeitel_5_24.java
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
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
en el for de la iteración "k" no le pusiste el paréntesis al "Tamano / 2 - i + 1" porqué da el mismo resultado? java implícitamente lo trabaja con paréntesis?
ResponderEliminar