Olá, precisa de uma ajuda, to tentando fazer um trabalho para faculdade e não to conseguindo entender como faço para chamar os métodos na minha classe principal para poder executar o que criei. Basicamente eu tenho que pedir para o usuário falar o número de lados de um poligono para calcular, se for 3 ou 4 ele vai fazer a operação da classe que criei para ele, caso contrário ele tem q escolher outra opção.
A classe poligono que criei foi essa
package programacao2;
public abstract class Poligono {
private int numerodeLados;
public int getNumerodeLados() {
return numerodeLados;
}
public void setNumerodeLados(int numerodeLados) {
this.numerodeLados = numerodeLados;
}
public abstract double getcaldulaarea ();
}
A Classe Triangulo
package programacao2;
import java.util.Scanner;
public class Triangulo extends Poligono{
Scanner valor1 = new Scanner(System.in);
int base = valor1.nextInt();
Scanner valor2 = new Scanner (System.in);
int altura = valor2.nextInt();
@Override
public double getcaldulaarea() {
double area;
area = base * altura / 2;
return area;
}
public void imprimedados(){
System.out.println("A forma para cálculo da área é o Tiângulo");
System.out.println("Ele tem " + super.getNumerodeLados());
System.out.println("Sua base mede " + base);
System.out.println("Sua altura é de" + altura);
System.out.println("A área calculada do triângulo é de: " + getcaldulaarea());
}
}
A classe Retangulo
package programacao2;
import java.util.Scanner;
public class Retangulo extends Poligono{
Scanner valor1 = new Scanner(System.in);
int tamanho1 = valor1.nextInt();
Scanner valor2 = new Scanner(System.in);
int tamanho2 = valor2.nextInt();
@Override
public double getcaldulaarea() {
double area;
area = tamanho1 * tamanho2;
return area;
}
public void imprimedados(){
System.out.println("A forma para cálculo da área é o Retângulo");
System.out.println("Ele tem " + super.getNumerodeLados());
System.out.println("Um lado mede " + tamanho1);
System.out.println("o outro lado mede " + tamanho2);
System.out.println("A área calculada do Retângulo é de: " + getcaldulaarea());
}
}
e a minha classe principal para rodar é essa, mas não sei como fazer as chamadas
package programacao2;
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
Poligono poligono = new Poligono() {
@Override
public double getcaldulaarea() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
};
System.out.println("Por favor insira o número de lados do polígono:");
Scanner numerodelados = new Scanner(System.in);
poligono.setNumerodeLados(numerodelados.nextInt());
if (numerodelados = 3){
}
}
}
eu travei, n entendi como chamar caso a pessoa insira que são três lados como chamo o getcaldulaarea correspondente ao que colocaram?