Ir ao conteúdo

Posts recomendados

Postado

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
        
    }

    
}
 

Postado

Formata esse código, posta no pastebin com sintaxe Java, e coloca o link aqui.

Melhora essa explicação cara, não temos como adivinhar o teu problema, tenta especificar bem o que ocorre, onde você ACHA que pode estar ocorrendo e quando ocorre.

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...