Considere a seguinte classe Retangulo em Java, que representa um retângulo com altura e largura: ```java public class Retangulo { private double altura; private double largura; public Retangulo(double altura, double largura) { this.altura = altura; this.largura = largura; } public double calcularArea() { return altura * largura; } public double calcularPerimetro() { return 2 * (altura + largura); } public void redimensionar(double novaAltura, double novaLargura) { this.altura = novaAltura; this.largura = novaLargura; } } ``` Suponha que você precise criar um objeto Retangulo com altura de 5 e largura de 10, calcular a área e o perímetro, e em seguida redimensionar o retângulo para uma altura de 7 e uma largura de 12. Qual seria a maneira correta de fazer isso?

Questão

Considere a seguinte classe Retangulo em Java, que representa um retângulo com altura e largura:

public class Retangulo {
    private double altura;
    private double largura;

    public Retangulo(double altura, double largura) {
        this.altura = altura;
        this.largura = largura;
    }

    public double calcularArea() {
        return altura * largura;
    }

    public double calcularPerimetro() {
        return 2 * (altura + largura);
    }

    public void redimensionar(double novaAltura, double novaLargura) {
        this.altura = novaAltura;
        this.largura = novaLargura;
    }
}

Suponha que você precise criar um objeto Retangulo com altura de 5 e largura de 10, calcular a área e o perímetro, e em seguida redimensionar o retângulo para uma altura de 7 e uma largura de 12. Qual seria a maneira correta de fazer isso?

Alternativas

a) Retangulo retangulo = new Retangulo(5, 10); retangulo.calcularArea(); retangulo.calcularPerimetro(); retangulo.setDimensoes(12, 7);

b) Retangulo retangulo = new Retangulo(5, 10); double area = Retangulo.calcularArea(); double perimetro = Retangulo.calcularPerimetro(); retangulo.redimensionar(7, 12);

c) Retangulo retangulo = new Retangulo(5, 10); retangulo.calcularArea(); retangulo.calcularPerimetro(); retangulo.redimensionar(12, 7);

d) Retangulo retangulo = new Retangulo(5, 10); double area = retangulo.calcularArea(); double perimetro = retangulo.calcularPerimetro(); retangulo.setDimensoes(7, 12);

e) Retangulo retangulo = new Retangulo(5, 10); double area = retangulo.calcularArea(); double perimetro = retangulo.calcularPerimetro(); retangulo.redimensionar(7, 12);

98%

Explicação

  1. Para criar o objeto, deve-se chamar o construtor com os valores iniciais: new Retangulo(5, 10) (altura = 5, largura = 10).

  2. Para obter a área e o perímetro, os métodos calcularArea() e calcularPerimetro() são métodos de instância (não são static). Portanto, devem ser chamados a partir do objeto retangulo e seus retornos (tipo double) podem ser armazenados em variáveis:

  • área = 5×10=505 \times 10 = 50
  • perímetro = 2(5+10)=302(5+10) = 30
  1. Para redimensionar, a classe fornece o método redimensionar(double novaAltura, double novaLargura). Logo, deve-se chamar retangulo.redimensionar(7, 12).

Analisando as alternativas:

  • (a) e (d): usam setDimensoes, que não existe na classe.
  • (b): tenta chamar Retangulo.calcularArea() e Retangulo.calcularPerimetro() como se fossem static, o que está incorreto.
  • (c): chama redimensionar(12, 7) invertendo os parâmetros (novaAltura deveria ser 7 e novaLargura 12).
  • (e): cria o objeto, calcula área e perímetro corretamente e redimensiona com a ordem correta.

Alternativa correta: (e).

Questões relacionadas

Ver últimas questões

Comece a estudar de forma inteligente hoje mesmo

Resolva questões de concursos e vestibulares com IA, gere simulados personalizados e domine os conteúdos que mais caem nas provas.

Cancele quando quiser.