Mais um Exercício de Conta Bancária

2 respostas
E

Olá!
Neste lado do Atlântico, em Portugal!!, a minha programação com JAVA não vai nada fácil…
Tenho um exercício para fazer sobre uma conta bancária, com o já conhecido menu para depositar um valor, levantar um valor, alterar morada e número de telefone e ver todas as informações da conta.
Criei os construtores necessários na classe ContaBancaria e o programa para apresentar o menu de opções na classe Main.

Vários problemas:

-não faz correctamente a actualização do saldo da conta após depósito ou levantamento;

-não consigo alterar morada e telefone;

Só comecei com JAVA há perto de 3 semanas e portanto acho que o problema no programa é uma questão não só de algoritmo, mas também de sintaxe.

Deixo o código, se alguém puder ajudar!

Obrigado do outro lado do Atlântico!

public class ContaBancaria {

    private String nome;
    private long numeroBI;
    private String morada;
    private long telefone;
    public double saldo;

    public ContaBancaria(String nm, long numbi, String mda, long tlf, double sld) {
        nome = nm;
        numeroBI = numbi;
        morada = mda;
        telefone = tlf;
        saldo = sld;

    }

    public String getNome() {
        return nome;
    }

    public long getNumeroBI() {
        return numeroBI;
    }

    public void setMorada(String pMorada){
       morada = pMorada;
    }

    public String getMorada() {
        return morada;
    }

    public void setTelefone (long pTelefone) {
        telefone = pTelefone;
    }

    public long getTelefone() {
        return telefone;
    }

    public double depositar(double valor) {
        if (valor > 0) {
            saldo = saldo + valor;
            return saldo;
        } else {
            return saldo;
        }
    }

    public double levantar(double valor) {
        if (valor > 0 && valor <= saldo) {
            saldo = saldo - valor;
            return saldo;
        } else {
            return saldo;
        }
    }
}
public class Main {

    
        public static void main(String[] args) {
         
        ContaBancaria conta = new ContaBancaria("Eduardo", 12345678, "Chaves, Vila Real", 276333222, 500.50);

        Scanner teclado = new Scanner(System.in);
        int opcao = -1;
        do {
            System.out.println(" 0 - Sair");
            System.out.println(" 1 - Depositar uma quantia");
            System.out.println(" 2 - Levantar uma quantia");
            System.out.println(" 3 - Alterar a morada");
            System.out.println(" 4 - Alterar o número de telefone");
            System.out.println(" 5 - Listar toda a informação da conta");
            System.out.println("Opção ->");

            opcao = teclado.nextInt();
            switch (opcao) {
                case 0: {
                    System.out.println("Sair.");
                }
                break;

                case 1: {
                    System.out.println("Depositar uma quantia.");
                    System.out.println("Digite o valor:");
                    double valor = teclado.nextInt();
                    conta.depositar(valor);
                    System.out.println("O seu saldo é: " + conta.depositar(valor));
                }
                break;


                case 2: {
                    System.out.println("Levantar uma quantia.");
                    System.out.println("Digite o valor:");
                    double valor = teclado.nextInt();
                    conta.levantar(valor);
                    System.out.println("O seu saldo é: " + conta.levantar(valor));
                }
                break;


                case 3: {
                    System.out.println("Alterar a morada.");
                    System.out.println("Digite a nova morada:");
                    String pMorada = teclado.nextLine();
                    System.out.println("A sua nova morada é : \n " + conta.setMorada());


                }
                break;

                case 4: {
                    System.out.println("Alterar o número de telefone.");
                    System.out.println("Digite o novo número:");
                    long pTelefone = teclado.nextLong();
                    System.out.println("O seu novo número de telefone é: \n" + conta.setTelefone(pTelefone));

                }
                break;

                case 5: {
                    System.out.println("Informação da conta");
                    System.out.println("Nome: " + conta.getNome());
                    System.out.println("Morada: " + conta.getMorada());
                    System.out.println("Telefone: " + conta.getTelefone());
                    System.out.println("Saldo da sua conta: " + conta.saldo);
                }
                default:
                    System.out.println("Digite uma opção entre 0 e 5.");
                    break;
            }
        } while (opcao != 0);

        System.out.println("Fim.");

    }
}

Obrigado!!!

2 Respostas

Queops82

Boa Tarde Amigo.

Realmente você cometeu uns errinhos basicos, mais valos lá;

case 1: {  
                    System.out.println("Depositar uma quantia.");  
                    System.out.println("Digite o valor:");  
                    double valor = teclado.nextInt();  
                    double saldonovo=conta.depositar(valor);  
                    System.out.println("O seu saldo é: " + saldonovo);  
                }  
                break;  
  
  
                case 2: {  
                    System.out.println("Levantar uma quantia.");  
                    System.out.println("Digite o valor:");  
                    double valor = teclado.nextInt();  
                     double saldonovo=conta.levantar(valor);  
                    System.out.println("O seu saldo é: " + saldonovo);  
                }  
                break;

Com isso você deveria ter atualização do saldo da conta

para poder mudar a morada e o telefone faz assim

case 3: {  
                    System.out.println("Alterar a morada.");  
                    System.out.println("Digite a nova morada:");  
                    String pMorada = teclado.nextLine();  
                   conta.setMorada(pMorada);
                    System.out.println("A sua nova morada é : \n " + conta.getMorada());  
  
  
                }  
                break;  
  
                case 4: {  
                    System.out.println("Alterar o número de telefone.");  
                    System.out.println("Digite o novo número:");  
                    long pTelefone = teclado.nextLong();  
                    conta.setTelefone(pTelefone);
                    System.out.println("O seu novo número de telefone é: \n" + conta.getTelefone());  
  
                }  
                break;

Qual quer duvida é só falar

E

Muito Obrigado!!
Já consegui deixar tudo a funcionar!
E entendi onde tinha feito as coisas erradas! Agora já percebi como fazer!
Obrigado!

Eduardo

Criado 30 de novembro de 2010
Ultima resposta 30 de nov. de 2010
Respostas 2
Participantes 2