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.
Implemente agora o método abstrato perímetro na classe Figura. Como
consequência, você terá que implementá-lo em todas as classes concretas.
Crie a classe concreta Trapezio. De quem ela deve ser subclasse?
Altere a sua herarquia de classes para agora calcular também o volume. Crie as
classes Cubo, Esfera, Cilindro e Piramide. É melhor resolver por herança ou por
composição?
@Mike, desculpa se intrometer! Sou novo aqui, acompanho o forum de voces a um tempo e nunca me cadastrei…
Enfim tenho esse mesmo problema que esse rapaz acima!.. Acredito que conseguir fazer ate a letra “E” da 1 e agora estou com dificuldade com isso de ArrayList =/
----jGRASP exec: javac -g Geometria.java
Geometria.java:9: error: constructor Circulo in class Circulo cannot be applied to given types;
figuras.add(new Circulo(3));
^
required: no arguments
found: int
reason: actual and formal argument lists differ in length
Geometria.java:10: error: constructor Losango in class Losango cannot be applied to given types;
figuras.add(new Losango(3,3,3,3));
^
required: int,int
found: int,int,int,int
reason: actual and formal argument lists differ in length
Geometria.java:13: error: constructor Triangulo in class Triangulo cannot be applied to given types;
figuras.add(new Triangulo(3,2,2));
^
required: int,int
found: int,int,int
reason: actual and formal argument lists differ in length
Retangulo.java:12: error: cannot find symbol
return ((Math.pow(this.altura(), 2) + Math.pow(this.base(), 2)) * 0.5);
^
symbol: method altura()
Retangulo.java:12: error: cannot find symbol
return ((Math.pow(this.altura(), 2) + Math.pow(this.base(), 2)) * 0.5);
^
symbol: method base()
5 errors
Esta dando esse erro… Esta errado essa forma que eu fiz ? e sim também estou com problemas para exibir…
Era isso mesmo, consegui arrumar isso! Mais uma duvida, é normal o losango ter 2 parâmetros? o resto foi corrigido, teria que fazer um toString nas classes que vou precisar exibir?
Não aprendi muito bem, infelizmente meu professor tem uma péssima didática e todo mundo da classe ta super confuso… mais enfim, nao entendi muito bem esse for que vc fez…
Olá, também tive o mesmo problema, porém utilizei lombok.
Não consegui resolver ainda. Alguma dica?
Agradeço antecipadamente.
java: constructor Filme in class br.com.algaworks.filmes.model.Filme cannot be applied to given types;
required: no arguments
found: java.lang.Long,java.lang.String,java.lang.String
reason: actual and formal argument lists differ in length
package br.com.algaworks.filmes.model;
public class Filme {
private Long codigo;
private String titulo;
private String descricao;
A cultura aqui é não dar as respostas prontas, mas ajudar a tirar dúvidas. Então cria um novo tópico e posta lá o que você já fez, e quais suas dúvidas específicas.