Autor Tema: Java ejercicio resuelto código clase Rectángulo métodos calcular área perímetro  (Leído 8395 veces)

Rasta

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Saludos. ¿Me pueden ayudar con un código? Me piden que cree una clase Rectángulo, con los atributos base y altura y que cree además los constructores de la clase por defecto y con parámetros y los métodos necesarios para calcular el área y el perímetro, en este codigo que adjunto supongo que ya está realizado lo primero

Código: [Seleccionar]
public class Rectangulo {

    private int altura;
    private int base;
   
     public Rectangulo()
    {
        altura = 1; //1 es el valor mínimo aceptable de los atributos
        base = 1; //no puede ser 0 porque entonces no existe el rectángulo
    }
       public Rectangulo(int altura, int base)
    {
        this.altura = altura;
        this.base = base;
    }
   
    public int getBase() {return base;}
    public int getAltura() {return altura;}
   
       public void setBase(int base)
    {
        if (base > 0 && base < 30)
            this.base = base;
    }
    public void setAltura(int altura)
    {
        if (altura > 0 && altura < 30)
        this.altura = altura;
    }
   
      public int getArea()
    {
        return base*altura;
    }
   
      public int getPerimetro()
    {
        return 2 * (base + altura);
    }

Tambien me piden que cree otra clase PruebaRectángulo que utilice varios rectángulos y muestre por pantalla sus áreas y perímetros, esta es la parte en la que me estanco por faor alguien me puede ayudar.
« Última modificación: 25 de Octubre 2020, 18:47 por Alex Rodríguez »

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 989
    • Ver Perfil
Re:Saludos a todos alguien me puede ayudar por favor
« Respuesta #1 en: 13 de Abril 2020, 23:08 »
Hola.
Pues en realidad es lo más fácil.

Puedes haces crear un array con, por ejemplo, 10 objetos Rectangulo.

Para crearlo, puedes pedir por teclado la base y altura de cada uno.
Pero es tedioso y de todos modos parece que lo que interesa es mostrar su perímetro y área.

Así que otra opción es generar los valores para la base y altura al azar, usando la clase Random.

Una vez creados, recorres el array y muestras los datos de cada rectángulo generado.

Algo como esto: (pongo límite de base y altura hasta 30 porque es lo que has indicado en tu código)

Código: [Seleccionar]
public class PruebaRectangulo {

public static void main(String[] args) {
//Inicializamos array de rectangulos
Rectangulo[] listaRectangulos = new Rectangulo[10];

//Creamos rectangulos con base y altura al azar
Random rnd = new Random();
for (int i = 0; i < listaRectangulos.length; i++) {
int base = rnd.nextInt(29) + 1; //Genera valores al azar entre 1 y 30
int altura = rnd.nextInt(29) + 1;
listaRectangulos[i] = new Rectangulo(altura, base);
}

//Ya tenemos 10 rectangulos creados, mostramos su área y perímetro

for (int i = 0; i < listaRectangulos.length; i++) {
System.out.println("\n*** Rectángulo #" + (i + 1) + " ***");
System.out.println("Base: " + listaRectangulos[i].getBase());
System.out.println("Altura: " + listaRectangulos[i].getAltura());
System.out.println("Area: " + listaRectangulos[i].getArea());
System.out.println("Perimetro: " + listaRectangulos[i].getPerimetro());
}

}

}

En pantalla tendríamos este resultado:
Citar
*** Rectángulo #1 ***
Base: 22
Altura: 21
Area: 462
Perimetro: 86

*** Rectángulo #2 ***
Base: 28
Altura: 22
Area: 616
Perimetro: 100

*** Rectángulo #3 ***
Base: 24
Altura: 27
Area: 648
Perimetro: 102

*** Rectángulo #4 ***
Base: 22
Altura: 18
Area: 396
Perimetro: 80

*** Rectángulo #5 ***
Base: 25
Altura: 27
Area: 675
Perimetro: 104

*** Rectángulo #6 ***
Base: 3
Altura: 7
Area: 21
Perimetro: 20

*** Rectángulo #7 ***
Base: 2
Altura: 13
Area: 26
Perimetro: 30

*** Rectángulo #8 ***
Base: 8
Altura: 26
Area: 208
Perimetro: 68

*** Rectángulo #9 ***
Base: 9
Altura: 25
Area: 225
Perimetro: 68

*** Rectángulo #10 ***
Base: 24
Altura: 20
Area: 480
Perimetro: 88
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

 

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