boa noite galera, primeira vez q eu tô programando com classe enumerada, e eu não sei cmo usar… vou postar o código e no final explico o problema…
quem puder ajudar, agradeço mt… braços
package Aplicacao;
import java.util.Scanner;
import Contas.Conta;
import Contas.ContaEspecial;
import Contas.Contapoupanca;
public class AplicacaoConta{
private static Scanner novo;
public Conta cadastrarContas (){
Conta c = new Conta();
int numero;
String dataAbertura;
String nomeCompletoTitular;
double saldo;
System.out.println(" Nome : ");
nomeCompletoTitular = novo.next();
System.out.println(" Numero : ");
numero = novo.nextInt();
System.out.println(" Data : ");
dataAbertura = novo.next();
System.out.println(" Saldo : ");
saldo = novo.nextDouble();
c.setNomeCompletoTitular(nomeCompletoTitular);
c.setDataAbertura(dataAbertura);
c.setNumero(numero);
c.setSaldo(saldo);
return c;
}
public ContaEspecial cadastrarContaEspecial(){
ContaEspecial ce = new ContaEspecial();
int numero;
String dataAbertura;
String nomeCompletoTitular;
double saldo;
System.out.println(" Nome : ");
nomeCompletoTitular = novo.next();
System.out.println(" Numero : ");
numero = novo.nextInt();
System.out.println(" Data : ");
dataAbertura = novo.next();
System.out.println(" Saldo : ");
saldo = novo.nextDouble();
ce.setNomeCompletoTitular(nomeCompletoTitular);
ce.setDataAbertura(dataAbertura);
ce.setNumero(numero);
ce.setSaldo(saldo);
return ce;
}
public Contapoupanca cadastrarContaPoupanca (){
Contapoupanca cp = new Contapoupanca();
int numero;
String dataAbertura;
String diaRendimento;
String nomeCompletoTitular;
double saldo;
System.out.println(" Nome : ");
nomeCompletoTitular = novo.next();
System.out.println(" Numero : ");
numero = novo.nextInt();
System.out.println(" Data : ");
dataAbertura = novo.next();
System.out.println(" Saldo : ");
saldo = novo.nextDouble();
System.out.println(" Dia do Rendimento : ");
diaRendimento = novo.next();
cp.setNomeCompletoTitular(nomeCompletoTitular);
cp.setDataAbertura(dataAbertura);
cp.setNumero(numero);
cp.setSaldo(saldo);
cp.setDiaRendimento(diaRendimento);
return cp;
}
public static void saudacao (Conta c){
if (c instanceof Contapoupanca){
System.out.println(" Bem Vindo a sua Conta Poupança Sr(a) " + c.getNomeCompletoTitular());
}
else
if (c instanceof ContaEspecial){
System.out.println(" Bem Vindo a sua Conta Especial Sr(a) " + c.getNomeCompletoTitular());
}
else
System.out.println(" Bem Vindo a sua Conta Sr(a) " + c.getNomeCompletoTitular());
}
public void menu (){
Conta c = new Conta ();
Contapoupanca cp = new Contapoupanca();
ContaEspecial ce = new ContaEspecial();
novo = new Scanner(System.in);
Integer escolha = 0;
do {
System.out.println("\n============================");
System.out.println(" 1 - Nova Conta Comum ");
System.out.println(" 2 - Nova Conta Poupança");
System.out.println(" 3 - Nova Conta Especial");
System.out.println(" 4 - Rendimentos ");
System.out.println(" 5 - Sair ");
System.out.println("=============================");
System.out.println("\n Sua Opcao ");
escolha = Integer.parseInt(novo.next());
switch (escolha) {
case 1:{
c = cadastrarContas();
int op = 0;
System.out.println(" 1 - Sacar ");
System.out.println(" 2 - Depositar ");
op = novo.nextInt();
if (op ==1){
double valor;
saudacao(c);
System.out.println(" Valor que deseja sacar : ");
valor = novo.nextDouble();
c.Sacar(valor);
}
else
if( op == 2){
double valor;
saudacao(c);
System.out.println(" Valor que deseja depositar : ");
valor = novo.nextDouble();
c.Depositar(valor);
}
break;
}
case 2:{
cp = cadastrarContaPoupanca();
int op = 0;
System.out.println(" 1 - Sacar ");
System.out.println(" 2 - Depositar ");
System.out.println(" 3 - Rendimento");
op = novo.nextInt();
if (op ==1){
double valor;
saudacao(cp);
System.out.println(" Valor que deseja sacar : ");
valor = novo.nextDouble();
cp.Sacar(valor);
}
else
if( op == 2){
double valor;
saudacao(cp);
System.out.println(" Valor que deseja depositar : ");
valor = novo.nextDouble();
cp.Depositar(valor);
}
else {
double taxaRendimento;
saudacao(cp);
System.out.println(" Taxa Rendimento : ");
taxaRendimento = novo.nextDouble();
cp.calcRendimento(taxaRendimento);
}
break;
}
case 3:{
ce = cadastrarContaEspecial();
int op = 0;
System.out.println(" 1 - Sacar ");
System.out.println(" 2 - Depositar ");
System.out.println(" 3 - Limite ");
op = novo.nextInt();
if (op ==1){
double valor;
saudacao(ce);
System.out.println(" Valor que deseja sacar : ");
valor = novo.nextDouble();
ce.Sacar(valor);
}
else
if( op == 2){
double valor;
saudacao(ce);
System.out.println(" Valor que deseja depositar : ");
valor = novo.nextDouble();
ce.Depositar(valor);
}
else {
double limite;
double valor;
String tipoTitular;
saudacao(ce);
System.out.println(" Tipo de Cliente : ");
tipoTitular = novo.next();
System.out.println(" Valor que deseja sacar : ");
valor = novo.nextDouble();
System.out.println(" Limite : ");
limite = novo.nextDouble();
ce.Sacar(valor, limite, tipoTitular);
}
break;
}
case 4:{
String tipoConta;
double taxaRendimento;
System.out.println(" Tipo de Conta : ");
tipoConta = novo.next();
System.out.println(" Taxa Rendimento : ");
taxaRendimento = novo.nextDouble();
cp.calcRendimento(tipoConta, taxaRendimento);
break;
}
case 5:{
System.out.println(" Saindo...");
break;
}
}
} while (escolha != 5);
}
public static void main(String[] args) {
AplicacaoConta apc = new AplicacaoConta();
apc.menu();
System.exit(0);
}
}