Crie a seguinte hierarquia de classes de figuras geométricas. Veja na figura as fórmulas:

5 respostas
javajavascriptprogramação
V

a. A classe abstrata Figura deve ter o método abstrato area.
b. A classe concreta Circulo é subclasse de Figura.
c. A classe abstrata Poligono é subclasse de Figura e deve ter os atributos base e
altura .
d. As classes concretas Triangulo, Losango, Retangulo e Quadrado são subclasses
de Poligono. Tente criar mais uma generalização aqui olhando as fórmulas da área.
e. Os polígonos Retangulo e Quadrado devem implementar a interface Diagonal,
que deve ter um método que calcula a diagonal.
f. Crie uma classe Geometria com um ArrayList de Figuras com pelo menos uma
figura de cada e imprima suas áreas, perímetros e diagonais.

Já fiz até a e, na f está da seguinte forma (ele não me retorna nada quando eu executo):

package projeto;
import java.util.ArrayList;
public class Geometria {    	
	public static void main (String args []) {    		
		ArrayList<Figura> figuras = new ArrayList<>();    		  
		  figuras.add(new Circulo(3));
		  figuras.add(new Losango(3,3));
		  figuras.add(new Retangulo(5,3));
		  figuras.add(new Quadrado(2,2));
		  figuras.add(new Triangulo(3,2));
	}
}

5 Respostas

D

Sim, afinal você só adiciona os elementos no array, não invoca nenhum cálculo, muito menos exibe as informações…

V

As informações já estão nas outras classes, como faço pra me retornar?

Agradeço.

F

Mas aí é que tá. Você tá chamando o construtor e passando os valores, mas não está imprimindo nada. Precisa que você tenha um método, por exemplo, area() que faça o calculo de área e imprima na tela.

S

Você também não está apresentando nada, só está adicionando as figuras na lista.

List<Figura> figuras = new ArrayList<>();
figuras.add(new Circulo(3));
figuras.add(new Losango(3,3));
figuras.add(new Retangulo(5,3));
figuras.add(new Quadrado(2,2));
figuras.add(new Triangulo(3,2));

for (Figura figura : figuras) {
    String nome = figura.getClass().getSimpleName();
    double area = figura.area();
    System.out.printf("Area do %s: %.2f%n", nome, area);
}
I

vc tem o exercicio todo ?

Criado 9 de março de 2020
Ultima resposta 7 de jan. de 2023
Respostas 5
Participantes 5