Usando hashmap

04/04/2016

0

Pessoal tudo bem ? eu criei esse codigo ele funciona só não esta salvando quando eu crio uma nova conta.

package br.com.guilhermezanatta;
import java.util.HashMap;
import javax.swing.JOptionPane;
import objetos.Conta;
public class Executar {

public static HashMap<Integer,Conta> contasCorrente = new HashMap<Integer,Conta>();
public static Object[] botoesEntrada = {"Nova Conta","Deposito","Saque","Saldo","Sair","Remover Conta"};
public static void main(String[] args) {
telaDeEntrada();
}
private static void telaDeEntrada() {
// Gera a tela de entrada
int botaoClicado = JOptionPane.showOptionDialog(null,
"Escolha a opção",
"Opções",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE,
null,
botoesEntrada,
botoesEntrada[0]);
// Trata o item clicado
switch (botaoClicado) {
case 0:
novaConta();break;
case 1:
depositoConta();break;
case 2:
saqueConta();break;
case 3:
saldoConta();break;
case 4:
removerConta();break;
case 5:
transferirValores();break;
default:
System.exit(0);
}
}
private static void transferirValores() {
// Transferir valores entre contas
// Numero da conta corrente para Saque
int numeroDaContaSaque = Integer.parseInt(JOptionPane.showInputDialog("Inserir numero da conta para saque"));

if (contasCorrente.containsKey(numeroDaContaSaque)) { //Encontrou a conta
Conta contaSaque = (Conta) contasCorrente.get(numeroDaContaSaque);
double valorDoSaque = Double.parseDouble(JOptionPane.showInputDialog("Valor do Saque"));
// Verifica se conta possui saldo para efetuar a transferencia
if (valorDoSaque > contaSaque.getSaldo()) {
JOptionPane.showMessageDialog(null, "Conta com saldo insuficiente", "Transferencias",JOptionPane.ERROR_MESSAGE);
transferirValores(); // Volta para tela de entrada de dados de valores
} else {
int numeroDaContaDeposito = Integer.parseInt(JOptionPane.showInputDialog("Inserir numero da conta para deposito"));
if (contasCorrente.containsKey(numeroDaContaDeposito)) {// Encontrou a conta
Conta contaDeposito = (Conta) contasCorrente.get(numeroDaContaDeposito);
contaDeposito.setSaldo(valorDoSaque);
boolean resultado = contaSaque.setSaque(valorDoSaque);
// Atualiza hashmap
contasCorrente.put(numeroDaContaSaque,contaSaque);
contasCorrente.put(numeroDaContaDeposito, contaDeposito);
// Emite uma mensagem da transferencia
JOptionPane.showMessageDialog(null, "Tranferencia efetuada", "Transferencias",JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Conta deposito não encontrada", "Transferencias",JOptionPane.ERROR_MESSAGE);
}
}

telaDeEntrada();
} else { // Não encontrou a conta
JOptionPane.showMessageDialog(null, "Conta saque inexistente", "Transferencias",JOptionPane.ERROR_MESSAGE);
}

}


private static void removerConta() {
// Numero da conta corrente para Remoção
int numeroDaContaRemover = Integer.parseInt(JOptionPane.showInputDialog("Inserir numero da conta para saque"));
if (contasCorrente.containsKey(numeroDaContaRemover)) {// Encontrou a conta
contasCorrente.remove(numeroDaContaRemover);
JOptionPane.showMessageDialog(null, "Conta removida", "Exclusão de conta",JOptionPane.ERROR_MESSAGE);
} else {// Não encontrou
JOptionPane.showMessageDialog(null, "Conta não encontrada", "Exclusão de conta",JOptionPane.ERROR_MESSAGE);
}

}
private static void saldoConta() {
// Efetua o deposito em conta corrente se encontrar a conta corrente
int numeroDaContaSaldo = Integer.parseInt(JOptionPane.showInputDialog("Inserir numero da conta para deposito"));
// Faz a busca pelo numero da conta
if (contasCorrente.containsKey(numeroDaContaSaldo)) {
// Instancia um objeto conta
Conta contaSaldo = new Conta();
// Traz os valores do objeto Conta do HashMap conta corrente e transfere para contaDeposito
contaSaldo = (Conta) contasCorrente.get(numeroDaContaSaldo);

// Mensagem a ser impressa na tela
StringBuilder msg = mensagemSaldo(contaSaldo);
// Imprimir mensagem
JOptionPane.showMessageDialog(null, msg.toString(),"Saldo em conta",JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Conta não encontrada","Saldo em conta",JOptionPane.ERROR_MESSAGE);
}
// Volta a tela de entrada
telaDeEntrada();
}

private static StringBuilder mensagemSaldo(Conta contaSaldo) {
StringBuilder msg = new StringBuilder();
msg.append("Saldo da conta corrente");
msg.append("\n++++++++++++++++");
msg.append("\nCorrentista : ");
msg.append(contaSaldo.getNome());
msg.append("\nSaldo de R$ : ");
msg.append(contaSaldo.getSaldo());
return msg;
}
private static void saqueConta() {
// Efetua o saque em conta corrente se encontrar a conta corrente
int numeroDaContaSaque = Integer.parseInt(JOptionPane.showInputDialog("Inserir numero da conta para saque"));
// Faz a busca pelo numero da conta
if (contasCorrente.containsKey(numeroDaContaSaque)) {
// Instancia um objeto conta
Conta contaSaque = new Conta();
// Traz os valores do objeto Conta do HashMap conta corrente e transfere para contaDeposito
contaSaque = (Conta) contasCorrente.get(numeroDaContaSaque);
// Insere o valor do saque no objeto Conta contaDeposito
double valorSaque = Double.parseDouble(JOptionPane.showInputDialog("Digite o valor a ser sacado"));
// Se o saque retornar true
if (contaSaque.setSaque(valorSaque)) {
// Atualiza o HashMap contaCorrente
contasCorrente.put(numeroDaContaSaque,contaSaque);
// Mensagem a ser impressa na tela
StringBuilder msg = new StringBuilder();
msg.append("Saque Efetuado");
msg.append("\n++++++++++++++++");
msg.append("\nSaque de R$ : ");
msg.append(valorSaque);
msg.append("\nSaldo atual de R$ : ");
msg.append(contaSaque.getSaldo());
// Imprimir mensagem
JOptionPane.showMessageDialog(null, msg.toString(),"Saque em conta",JOptionPane.INFORMATION_MESSAGE);
} else {
// Imprimir mensagem de saldo indisponivel
JOptionPane.showMessageDialog(null, "Saldo indisponivel para saque","Saque",JOptionPane.ERROR_MESSAGE);
}

} else {
JOptionPane.showMessageDialog(null, "Conta não encontrada","Deposito em conta",JOptionPane.ERROR_MESSAGE);
}

// Volta para tela de entrada
telaDeEntrada();
}
private static void depositoConta() {
// Efetua o deposito em conta corrente se encontrar a conta corrente
int numeroDaContaDeposito = Integer.parseInt(JOptionPane.showInputDialog("Inserir numero da conta para deposito"));
// Faz a busca pelo numero da conta
if (contasCorrente.containsKey(numeroDaContaDeposito)) {
// Instancia um objeto conta
Conta contaDeposito = new Conta();
// Traz os valores do objeto Conta do HashMap conta corrente e transfere para contaDeposito
contaDeposito = (Conta) contasCorrente.get(numeroDaContaDeposito);
// Insere o valor do deposito no objeto Conta contaDeposito
double valorDeposito = Double.parseDouble(JOptionPane.showInputDialog("Digite o valor a ser depositado"));
contaDeposito.setSaldo(valorDeposito);
// Atualiza o HashMap contaCorrente
contasCorrente.put(numeroDaContaDeposito,contaDeposito);
// Mensagem a ser impressa na tela
StringBuilder msg = new StringBuilder();
msg.append("Deposito Efetuado");
msg.append("\n++++++++++++++++");
msg.append("\nDeposito de R$ : ");
msg.append(valorDeposito);
msg.append("\nSaldo de R$ : ");
msg.append(contaDeposito.getSaldo());
// Imprimir mensagem
JOptionPane.showMessageDialog(null, msg.toString(),"Deposito em conta",JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Conta não encontrada","Deposito em conta",JOptionPane.ERROR_MESSAGE);
}

// Volta para a tela de entrada
telaDeEntrada();
}
private static void novaConta() {
// Instancia a nova conta
Conta novaConta = new Conta();

// Atribui os valores aos atributos do objeto do tipo Conta
novaConta.setConta(Integer.parseInt(JOptionPane.showInputDialog("Numero da conta")));
novaConta.setNome(JOptionPane.showInputDialog("Nome do correntista"));
novaConta.setCpf(JOptionPane.showInputDialog("Numero do CPF"));

// Adiciona o numero da conta como chave e guarda o objeto Conta
contasCorrente.put(novaConta.getConta(), novaConta);

JOptionPane.showMessageDialog(null, novaConta.toString(),"Nova Conta",JOptionPane.INFORMATION_MESSAGE);

// Volta para a tela de entrada
telaDeEntrada();
}
}

-------------------------------------******************************_---------------------------------------------***************************************------------------------------------------------******************************-------

package objetos;
public class Conta {


public void setSaldo(double valorDoSaque) {
// TODO Auto-generated method stub

}
public double getSaldo() {
// TODO Auto-generated method stub
return 0;
}

public Object getNome() {
// TODO Auto-generated method stub
return null;
}
public void setNome(String showInputDialog) {
// TODO Auto-generated method stub

}

public boolean setSaque(double valorSaque) {
// TODO Auto-generated method stub
return false;
}

public Integer getConta() {
// TODO Auto-generated method stub
return null;
}
public void setConta(int parseInt) {
// TODO Auto-generated method stub

}

public void setCpf(String showInputDialog) {
// TODO Auto-generated method stub

}

}
Guilherme Zanatta

Guilherme Zanatta

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar