Autor Tema: Ayuda problema Java Rectangulo y Rombo  (Leído 139 veces)

danielvr

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 7
    • Ver Perfil
Ayuda problema Java Rectangulo y Rombo
« en: 26 de Julio 2021, 01:35 »
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 se si todo vaya bien, por la eleccion del caracter sin que sea un numero, al igual de elegir numeros no validos, como negativos, etc.

Anexo mi codigo, solo la mitad y lo que falte en los comentarios, debido al exceso de caracteres 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: 26 de Julio 2021, 01:38 por danielvr »

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".