Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: danielvr en 26 de Julio 2021, 01:35

Título: Java programa menú dibujar rombo o rectángulo base altura niveles con símbolos
Publicado por: danielvr 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 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;
Título: Re: Ayuda problema Java Rectangulo y Rombo
Publicado por: danielvr 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);
    }
}