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

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));
	}
}

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

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

Agradeço.

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.

1 curtida

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);
}
1 curtida

vc tem o exercicio todo ?