Autor Tema: Java programa menú dibujar rombo o rectángulo base altura niveles con símbolos  (Leído 513 veces)

danielvr

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 7
    • Ver Perfil
Hola, buenas tardes necesito apoyo sobre un ejercicio. Debo hacer un rectángulo y rombo de la base y altura que elija, con el rombo es los niveles. Asi mismo, decir su área y su perímetro. Pero tengo problemas con mi código, no sé si todo vaya bien, por la eleccion del caracter sin que sea un numero, al igual de elegir numeros no válidos, como negativos, etc.

Anexo mi código, aquí la mitad y lo que falte a continuación, debido a la excesiva longitud de caracteres que excede lo permitido.


Código: [Seleccionar]
import java.util.Scanner;
public class ClasesyObjetos {
    public static void main(String[] args){
    Scanner entrada = new Scanner (System.in);
   
    double perim = 0, lado, base, altura, area, simb, alt, nivel;
     
    int num=0, rec=0, rom=0;
     
    Scanner in=new Scanner(System.in);
   
            do{
        System.out.println("                Bienvenido          ");
        System.out.println("     Programa para imprimir figuras");
        System.out.println("     1.-Rectángulo         ");
        System.out.println("     2.-Rombo");
        System.out.println("     3.-Salir                             ");
        System.out.println("Seleciona una de las opciones anteriores:");
       
        num = in.nextInt();
       
        switch(num){
           
            case 1:
                do{
                System.out.println("\n");
                System.out.println("Símbolos");
                System.out.println("1.-+");
                System.out.println("2.-*");
                System.out.println("3.-$");
                System.out.println("4.-%");
                System.out.println("5.-&");
                System.out.println("6.-/");
                System.out.println("7.-=");
                System.out.println("8.-Volver al menú inicial");
                System.out.println("Selecciona símbolo de la figura:");
                rec = in.nextInt();
               
                switch(rec){
                    case 1:
                        System.out.println("\n");
                        System.out.println("Rectángulo");
                       
                        System.out.println("Escriba la base:");
                            base=entrada.nextInt();
           
                            while(base<=0){
                            System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
           
                            base=entrada.nextInt();
                            }
           
                        System.out.println("Escriba la altura:");
                            altura=entrada.nextInt();
       
                            while(altura<=0){
                            System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
                   
                            altura=entrada.nextInt();
                            }
           
                        for (int i=0; i<altura; i++) {
                            for (int j=0; j<base; j++)
                                System.out.print("+");
                            System.out.println("");
                        }
                    break;
                   
                    case 2:
                        System.out.println("\n");
                        System.out.println("Rectángulo");
                       
                        System.out.println("Escriba la base:");
                            base=entrada.nextInt();
           
                            while(base<=0){
                            System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
           
                            base=entrada.nextInt();
                            }
           
                        System.out.println("Escriba la altura:");
                            altura=entrada.nextInt();
       
                            while(altura<=0){
                            System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
                   
                            altura=entrada.nextInt();
                            }
           
                        for (int i=0; i<altura; i++) {
                            for (int j=0; j<base; j++)
                                System.out.print("*");
                            System.out.println("");
                        }
                    break;
                   
                    case 3:
                        System.out.println("\n");
                        System.out.println("Rectángulo");
                       
                        System.out.println("Escriba la base:");
                            base=entrada.nextInt();
           
                            while(base<=0){
                            System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
           
                            base=entrada.nextInt();
                            }
           
                        System.out.println("Escriba la altura:");
                            altura=entrada.nextInt();
       
                            while(altura<=0){
                            System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
                   
                            altura=entrada.nextInt();
                            }
           
                        for (int i=0; i<altura; i++) {
                            for (int j=0; j<base; j++)
                                System.out.print("$");
                            System.out.println("");
                        }
                    break;
                   
                    case 4:
                        System.out.println("\n");
                        System.out.println("Rectángulo");
                       
                        System.out.println("Escriba la base:");
                            base=entrada.nextInt();
           
                            while(base<=0){
                            System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
           
                            base=entrada.nextInt();
                            }
           
                        System.out.println("Escriba la altura:");
                            altura=entrada.nextInt();
       
                            while(altura<=0){
                            System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
                   
                            altura=entrada.nextInt();
                            }
           
                        for (int i=0; i<altura; i++) {
                            for (int j=0; j<base; j++)
                                System.out.print("%");
                            System.out.println("");
                        }
                    break;
                   
                    case 5:
                        System.out.println("\n");
                        System.out.println("Rectángulo");
                       
                        System.out.println("Escriba la base:");
                            base=entrada.nextInt();
           
                            while(base<=0){
                            System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
           
                            base=entrada.nextInt();
                            }
           
                        System.out.println("Escriba la altura:");
                            altura=entrada.nextInt();
       
                            while(altura<=0){
                            System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
                   
                            altura=entrada.nextInt();
                            }
           
                        for (int i=0; i<altura; i++) {
                            for (int j=0; j<base; j++)
                                System.out.print("&");
                            System.out.println("");
                        }
                    break;
                   
                    case 6:
                        System.out.println("\n");
                        System.out.println("Rectángulo");
                       
                        System.out.println("Escriba la base:");
                            base=entrada.nextInt();
           
                            while(base<=0){
                            System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
           
                            base=entrada.nextInt();
                            }
           
                        System.out.println("Escriba la altura:");
                            altura=entrada.nextInt();
       
                            while(altura<=0){
                            System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
                   
                            altura=entrada.nextInt();
                            }
           
                        for (int i=0; i<altura; i++) {
                            for (int j=0; j<base; j++)
                                System.out.print("/");
                            System.out.println("");
                        }
                    break;
                   
                    case 7:
                        System.out.println("\n");
                        System.out.println("Rectángulo");
                       
                        System.out.println("Escriba la base:");
                            base=entrada.nextInt();
           
                            while(base<=0){
                            System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
           
                            base=entrada.nextInt();
                            }
           
                        System.out.println("Escriba la altura:");
                            altura=entrada.nextInt();
       
                            while(altura<=0){
                            System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
                   
                            altura=entrada.nextInt();
                            }
           
                        for (int i=0; i<altura; i++) {
                            for (int j=0; j<base; j++)
                                System.out.print("=");
                            System.out.println("");
                        }
                    break;
                   
                    }
                }while(rec!=8);
               
                break;
« Última modificación: 15 de Enero 2022, 20:46 por Ogramar »

danielvr

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 7
    • Ver Perfil
Re: Ayuda problema Java Rectangulo y Rombo
« Respuesta #1 en: 26 de Julio 2021, 01:38 »
Código: [Seleccionar]
case 2:
                do{
                System.out.println("\n");
                System.out.println("Símbolos");
                System.out.println("1.-+");
                System.out.println("2.-*");
                System.out.println("3.-$");
                System.out.println("4.-%");
                System.out.println("5.-&");
                System.out.println("6.-/");
                System.out.println("7.-=");
                System.out.println("8.-Volver al menú inicial");
                System.out.println("Selecciona símbolo de la figura:");
                rom = in.nextInt();
               
                switch(rom){
                    case 1:
                        System.out.println("\n");
                        System.out.println("Rombo");
                        System.out.println("Escribe el número de niveles: ");
                        nivel=entrada.nextInt();
                        while(nivel<=0){
       
                        System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
                        nivel=entrada.nextInt();
                        }

                        for(int altu=1;altu<=nivel;altu++){
                            //Blancos
                            for(int blancos=1;blancos<=nivel-altu;blancos++){
System.out.print(" ");
                            }
                            //Asteriscos
                            for(int asteriscos=1;asteriscos<=(2*altu)-1;asteriscos++){
                                System.out.print("+");
                            }
                            System.out.println("");
                        }

                        nivel--;

                        for(int altu=1;altu<=nivel;altu++){
                            //Blancos
                            for(int blancos=1;blancos<=altu;blancos++){
System.out.print(" ");
                            }
                            //Asteriscos
                            for(int asteriscos=1;asteriscos<=(nivel-altu)*2 +1;asteriscos++){
System.out.print("+");
                            }
                            System.out.println();
                        }
                    break;
                       
                    case 2:
                        System.out.println("\n");
                        System.out.println("Rombo");
                        System.out.println("Escribe el número de niveles: ");
                        nivel=entrada.nextInt();
                        while(nivel<=0){
       
                        System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
                        nivel=entrada.nextInt();
                        }

                        for(int altu=1;altu<=nivel;altu++){
                            //Blancos
                            for(int blancos=1;blancos<=nivel-altu;blancos++){
System.out.print(" ");
                            }
                            //Asteriscos
                            for(int asteriscos=1;asteriscos<=(2*altu)-1;asteriscos++){
                                System.out.print("*");
                            }
                            System.out.println("");
                        }

                        nivel--;

                        for(int altu=1;altu<=nivel;altu++){
                            //Blancos
                            for(int blancos=1;blancos<=altu;blancos++){
System.out.print(" ");
                            }
                            //Asteriscos
                            for(int asteriscos=1;asteriscos<=(nivel-altu)*2 +1;asteriscos++){
System.out.print("*");
                            }
                            System.out.println();
                        }
                    break;
                   
                    case 3:
                        System.out.println("\n");
                        System.out.println("Rombo");
                        System.out.println("Escribe el número de niveles: ");
                        nivel=entrada.nextInt();
                        while(nivel<=0){
       
                        System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
                        nivel=entrada.nextInt();
                        }

                        for(int altu=1;altu<=nivel;altu++){
                            //Blancos
                            for(int blancos=1;blancos<=nivel-altu;blancos++){
System.out.print(" ");
                            }
                            //Asteriscos
                            for(int asteriscos=1;asteriscos<=(2*altu)-1;asteriscos++){
                                System.out.print("$");
                            }
                            System.out.println("");
                        }

                        nivel--;

                        for(int altu=1;altu<=nivel;altu++){
                            //Blancos
                            for(int blancos=1;blancos<=altu;blancos++){
System.out.print(" ");
                            }
                            //Asteriscos
                            for(int asteriscos=1;asteriscos<=(nivel-altu)*2 +1;asteriscos++){
System.out.print("$");
                            }
                            System.out.println();
                        }
                    break;
                   
                    case 4:
                        System.out.println("\n");
                        System.out.println("Rombo");
                        System.out.println("Escribe el número de niveles: ");
                        nivel=entrada.nextInt();
                        while(nivel<=0){
       
                        System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
                        nivel=entrada.nextInt();
                        }

                        for(int altu=1;altu<=nivel;altu++){
                            //Blancos
                            for(int blancos=1;blancos<=nivel-altu;blancos++){
System.out.print(" ");
                            }
                            //Asteriscos
                            for(int asteriscos=1;asteriscos<=(2*altu)-1;asteriscos++){
                                System.out.print("%");
                            }
                            System.out.println("");
                        }

                        nivel--;

                        for(int altu=1;altu<=nivel;altu++){
                            //Blancos
                            for(int blancos=1;blancos<=altu;blancos++){
System.out.print(" ");
                            }
                            //Asteriscos
                            for(int asteriscos=1;asteriscos<=(nivel-altu)*2 +1;asteriscos++){
System.out.print("%");
                            }
                            System.out.println();
                        }
                    break;
                   
                    case 5:
                        System.out.println("\n");
                        System.out.println("Rombo");
                        System.out.println("Escribe el número de niveles: ");
                        nivel=entrada.nextInt();
                        while(nivel<=0){
       
                        System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
                        nivel=entrada.nextInt();
                        }

                        for(int altu=1;altu<=nivel;altu++){
                            //Blancos
                            for(int blancos=1;blancos<=nivel-altu;blancos++){
System.out.print(" ");
                            }
                            //Asteriscos
                            for(int asteriscos=1;asteriscos<=(2*altu)-1;asteriscos++){
                                System.out.print("&");
                            }
                            System.out.println("");
                        }

                        nivel--;

                        for(int altu=1;altu<=nivel;altu++){
                            //Blancos
                            for(int blancos=1;blancos<=altu;blancos++){
System.out.print(" ");
                            }
                            //Asteriscos
                            for(int asteriscos=1;asteriscos<=(nivel-altu)*2 +1;asteriscos++){
System.out.print("&");
                            }
                            System.out.println();
                        }
                    break;
                   
                    case 6:
                        System.out.println("\n");
                        System.out.println("Rombo");
                        System.out.println("Escribe el número de niveles: ");
                        nivel=entrada.nextInt();
                        while(nivel<=0){
       
                        System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
                        nivel=entrada.nextInt();
                        }

                        for(int altu=1;altu<=nivel;altu++){
                            //Blancos
                            for(int blancos=1;blancos<=nivel-altu;blancos++){
System.out.print(" ");
                            }
                            //Asteriscos
                            for(int asteriscos=1;asteriscos<=(2*altu)-1;asteriscos++){
                                System.out.print("/");
                            }
                            System.out.println("");
                        }

                        nivel--;

                        for(int altu=1;altu<=nivel;altu++){
                            //Blancos
                            for(int blancos=1;blancos<=altu;blancos++){
System.out.print(" ");
                            }
                            //Asteriscos
                            for(int asteriscos=1;asteriscos<=(nivel-altu)*2 +1;asteriscos++){
System.out.print("/");
                            }
                            System.out.println();
                        }
                    break;
                   
                    case 7:
                        System.out.println("\n");
                        System.out.println("Rombo");
                        System.out.println("Escribe el número de niveles: ");
                        nivel=entrada.nextInt();
                        while(nivel<=0){
       
                        System.out.println("Entrada inválida, introduzca un numero mayor que 0: ");
                        nivel=entrada.nextInt();
                        }

                        for(int altu=1;altu<=nivel;altu++){
                            //Blancos
                            for(int blancos=1;blancos<=nivel-altu;blancos++){
System.out.print(" ");
                            }
                            //Asteriscos
                            for(int asteriscos=1;asteriscos<=(2*altu)-1;asteriscos++){
                                System.out.print("=");
                            }
                            System.out.println("");
                        }

                        nivel--;

                        for(int altu=1;altu<=nivel;altu++){
                            //Blancos
                            for(int blancos=1;blancos<=altu;blancos++){
System.out.print(" ");
                            }
                            //Asteriscos
                            for(int asteriscos=1;asteriscos<=(nivel-altu)*2 +1;asteriscos++){
System.out.print("=");
                            }
                            System.out.println();
                        }
                    break;
                    }
                }while(rom!=8);
               
                break;
            }
        }while(num!=3);
    }
}

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".