ta meio grande. não sei se ta certa
ignore o case 5, to fazendo ainda
mas os cases 1 2 3 são pra add ( simplifiquei o exemplo com 2 tipos de seguro mas o trab é com 3, mas acho que nao muda nada) o 4 é pra imprimir. fiz o uso de contrutores, não sei se ta certo usa-los
// CLASSE MAIN
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
public class Principal
{
Scanner input = new Scanner(System.in);
public static void main (String [] args)
{
List<Seguro> seg = new ArrayList<Seguro>();
Scanner input = new Scanner(System.in);
int numb;
int op;
int numlic = 0;
int dedcar = 0;
int num = 0;
float valor = 0;
float premio = 0;
int ded = 0;
String nome = null;
String rua = null;
String cidade = null;
String estado = null;
String estado2 = null;
String cep= null;
String beneficiario = null;
String dia = null;
String mes = null;
String ano = null;
String modelo = null;
int anomodel = 0;
int anoc = 0;
int dedcasa = 0;
do{
System.out.print("Digite a opcao de seguro \n");
System.out.print("1 - Seguro de vida\n");
System.out.print("2 - Seguro de imovel\n");
System.out.print("3 - Seguro de carro\n");
System.out.print("4 - Listar todos os seguros\n");
System.out.print("5 - Procurar por numero de apolice\n");
System.out.print("0 - Sair\n");
op = Integer.parseInt(input.nextLine());
System.out.print ("\n");
SeguroVida segp = new SeguroVida(num,nome,rua,cidade,estado,cep,valor,premio,beneficiario,dia,mes,ano);
SeguroCasa segc = new SeguroCasa(num,nome,rua,cidade,estado,cep,valor,premio,dedcasa,anoc);
SeguroAuto sega = new SeguroAuto(num,nome,rua,cidade,estado,cep,valor,premio,numlic,dedcar, estado2,modelo,anomodel);
Endereco end = new Endereco (rua,cidade,estado,cep);
switch (op)
{
case 1:
System.out.print("\nDigite numero da apolice\n");
num = Integer.parseInt(input.nextLine());
System.out.print("\nDigite seu nome\n");
nome = input.nextLine();
System.out.print("\nDigite nome da rua\n");
rua =input.nextLine();
System.out.print("\nDigite nome da cidade\n");
cidade =input.nextLine();
System.out.print("\nDigite nome do estado\n");
estado = input.nextLine();
System.out.print("\nDigite o cep\n");
cep = input.nextLine();
System.out.print("\nDigite o valor do seguro\n");
valor = Integer.parseInt(input.nextLine());
System.out.print("\nDigite o premio do seguro\n");
premio = Integer.parseInt(input.nextLine());
System.out.print("\nDigite o nome do beneficiario\n");
beneficiario = (input.nextLine());
System.out.print("\nDigite o dia de nascimento\n");
dia = input.nextLine();
System.out.print("\nDigite o mes de nascimento\n");
mes = input.nextLine();
System.out.print("\nDigite o ano de nascimento\n");
ano = input.nextLine();
seg.add(segp);
break;
case 2:
System.out.print("\nDigite numero da apolice\n");
num = Integer.parseInt(input.nextLine());
System.out.print("\nDigite seu nome\n");
nome = input.nextLine();
System.out.print("\nDigite nome da rua\n");
rua =input.nextLine();
System.out.print("\nDigite nome da cidade\n");
cidade =input.nextLine();
System.out.print("\nDigite nome do estado\n");
estado = input.nextLine();
System.out.print("\nDigite o cep\n");
cep = input.nextLine();
System.out.print("\nDigite o valor do seguro\n");
valor = Integer.parseInt(input.nextLine());
System.out.print("\nDigite o premio do seguro\n");
premio = Integer.parseInt(input.nextLine());
System.out.print("\nDigite o ano de construcao\n");
anoc = Integer.parseInt(input.nextLine());
System.out.print("\nDigite o valor da decucao da casa\n");
dedcasa = Integer.parseInt(input.nextLine());
seg.add(segc);
break;
case 3:
System.out.print("\nDigite numero da apolice\n");
num = Integer.parseInt(input.nextLine());
System.out.print("\nDigite seu nome\n");
nome = input.nextLine();
System.out.print("\nDigite nome da rua\n");
rua =input.nextLine();
System.out.print("\nDigite nome da cidade\n");
cidade =input.nextLine();
System.out.print("\nDigite nome do estado\n");
estado = input.nextLine();
System.out.print("\nDigite o cep\n");
cep = input.nextLine();
System.out.print("\nDigite o valor do seguro\n");
valor = Integer.parseInt(input.nextLine());
System.out.print("\nDigite o premio do seguro\n");
premio = Integer.parseInt(input.nextLine());
System.out.print("\nDigite o numero da licensa\n");
numlic = Integer.parseInt(input.nextLine());
System.out.print("\nDigite a deducao do veiculo\n");
dedcar = Integer.parseInt(input.nextLine());
System.out.print("\nDigite nome do estado de origem do carro\n");
estado2 = input.nextLine();
System.out.print("\nDigite o modelo do carro\n");
modelo = input.nextLine();
System.out.print("\nDigite o ano do veiculo\n");
anomodel = Integer.parseInt(input.nextLine());
seg.add(sega);
break;
case 4:
for(Seguro s : seg) {
s.imprimiSeguro(); // aqui esta o polimorfismo
}
break;
case 5:
System.out.println ("\nDigite o numero da licensa \n"); // implementar
numb = Integer.parseInt(input.nextLine());
}
}while (op!=0);
}
}