Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio Conta Bancária.

Estou dando uma treinada e refiz meu desafio com base nos conceitos de classe que estou aprendendo, queria saber se ficou legal kkk

import java.util.Scanner;

public class ContaBancaria {
    Scanner entrada = new Scanner(System.in);
    private String nome;
    private int numeroAgencia;
    private double saldo = 1200.00;
    int decisao = 0;
    String menu = """
                Operações:
                1- Consultar saldo
                2- Depositar quantia
                3- Sacar quantia
                4- Sair
                ~~~~~~~~~~~~~~~~~~~~~~~~~~
                """;
    String dados = """
                ~~~~~~~~~~~~~~~~~~~~~~~~~~
                Dados iniciais do cliente;
                Nome: %s
                Agência: %d
                ~~~~~~~~~~~~~~~~~~~~~~~~~~
                """;
    String consultarSaldo = """
                ~~~~~~~~~~~~~~~~~~~~~~~~~~
                %s
                Seu saldo atual é de:
                R$ %.2f
                ~~~~~~~~~~~~~~~~~~~~~~~~~~
                """;

    public ContaBancaria(String nome,int numeroAgencia) {
        this.nome = nome;
        this.numeroAgencia = numeroAgencia;
    }

    public void iniciaDados() {
        System.out.printf(dados, this.nome, this.numeroAgencia, this.saldo);
    }

    public void menu() {
        while (decisao < 3 ) {
            System.out.println(menu);
            decisao = entrada.nextInt();
            switch (decisao){
                case 1:
                    System.out.printf(consultarSaldo, nome,saldo);
                    entrada.nextLine();
                    break;
                case 2:
                    System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~\n" +
                                    "Digite o valor que deseja depositar\n" +
                                        "~~~~~~~~~~~~~~~~~~~~~~~~~~");
                    double valor = entrada.nextDouble();
                    saldo += valor;
                    entrada.nextLine();
                    break;
                case 3:
                    System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~\n" +
                            "Digite o valor que deseja sacar\n" +
                            "~~~~~~~~~~~~~~~~~~~~~~~~~~");
                    double saque = entrada.nextDouble();
                    if (saque > saldo){
                        System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~\n" +
                                "Erro ao realizar saque!\n" +
                                "~~~~~~~~~~~~~~~~~~~~~~~~~~");
                         decisao = 0;
                    } else {
                        saldo -= saque;
                        System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~\n" +
                                "Saque realizado com sucesso!\n" +
                                "~~~~~~~~~~~~~~~~~~~~~~~~~~");
                         decisao = 0;		
                    }
                    entrada.nextLine();
                    break;
            }
        }
    }
}
public class Principal {
    public static void main(String[] args) {

        ContaBancaria rafael = new ContaBancaria("Rafael Bernardes", 20202);
        rafael.iniciaDados();
        rafael.menu();
    }
}

Nesse código eu não consegui trabalhar polimorfismo nem herança apenas fiz com instanciação de um objeto e invocação de um método que pudesse mostrar a informação do cliente, um método para controlar o menu e fiz um construtor para armazenar nome e o numero da agencia.

1 resposta
solução!

Oi Messias, tudo bem?

Agradeço por compartilhar sua versão atualizada do desafio! É incrível ver como você aplicou os conceitos de classes no desenvolvimento da sua ContaBancária em Java.

Você construiu uma estrutura organizada, com um menu claro e operações bem definidas. O uso de strings formatadas para exibir informações é uma abordagem elegante.

Apesar de não ter incluído herança ou polimorfismo, você demonstrou uma compreensão sólida da encapsulação e criação de métodos para realizar operações específicas. A modularidade do código é uma prática excelente.

Lembre-se de que, muitas vezes, a aplicação de herança e polimorfismo é mais relevante em sistemas mais complexos, e você pode explorar esses conceitos em desafios futuros. O importante é construir uma base sólida, como você fez aqui, e expandir gradualmente suas habilidades.

Continue praticando e experimentando. Você está no caminho certo! Parabéns pela sua dedicação e pelo trabalho realizado.

Um abraço e bons estudos.