public class AppStart {
/**
* @author Pedro
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
Retangulo[] retangulo = (Retangulo[]) new Forma[2];
Circulo[] circulo = (Circulo[]) new Forma[2];
int escolha = 0;
while (escolha < 5) {
System.out.println("Faça uma escolha!");
escolha = input.nextInt();
switch (escolha) {
case 1: {
System.out.println("Digite o lado e altura do retangulo");
System.out.println("Lado: ");
float lado = input.nextFloat();
System.out.println("Altura: ");
float altura = input.nextFloat();
Retangulo a = new Retangulo(lado, altura);
retangulo[0] = a;
System.out.println("Area: " + retangulo[1].calcularArea());
break;
}
case 2: {
System.out.println("Digite o lado e altura do retangulo");
System.out.println("Lado: ");
float lado = input.nextFloat();
System.out.println("Altura: ");
float altura = input.nextFloat();
Retangulo b = new Retangulo(lado, altura);
retangulo[1] = b;
System.out.println("Perimetro: "
+ retangulo[2].calcularPerimetro());
break;
}
case 3: {
System.out.println("Digite o Raio do Circulo");
float raio = input.nextFloat();
Circulo c = new Circulo(raio);
circulo[0] = c;
System.out.println("Area: " + circulo[0].calcularArea());
break;
}
case 4: {
System.out.println("Digite o Raio do Circulo");
float raio = input.nextFloat();
Circulo d = new Circulo(raio);
circulo[1] = d;
System.out.println("Circunferencia: "
+ circulo[1].calcularPerimetro());
break;
}
default: {
break;
}
}
}
}
}
Bom pessoal, o professor do curso tecnico passou-nos um trabalho de polimorfismo, ate simples.
Com uma interface Forma, e duas Class implementando Forma: Retangulo e Circulo.
1 instancia seria para calcular area de retangulo, outra para Perimetro, outra para circunferencia do circulo e outra para a area do circulo.
Ele exigiu que as instancias estivessem em um array com quatro posições. so que quando eu crio o array e mando rodar o sistema ele gera um erro nas duas linhas que contém:
Retangulo[] retangulo = (Retangulo[]) new Forma[2];
Circulo[] circulo = (Circulo[]) new Forma[2];
queria ajuda de vocês. Agradeço !