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
Si quisiera meter numero par como quedaría el código saludos
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarAlguien que me ayude a hacer esto con funciones y for añidados porfa si ingreso 1 +--+
ResponderEliminar|<>|
+--+
Y si ingreso 2
+----+
| /\ |
|<-->|
| \/ |
+----+
Y si es 4
+--------+
| /\ |
| /--\ |
| /====\ |
|<------>|
| \====/ |
| \--/ |
| \/ |
+--------+