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

[Sugestão] Problema 3 - Conta Bancária

Segue a maneira que estruturei para fazer o problema 3 em relação ao sistema bancário. Esse foi o problema que eu mais me identifiquei e que geralmente são mais utilizados também para aprendizado

package atvModulo3a03;
//Crie uma classe ContaBancaria com métodos para realizar operações bancárias
// como depositar(), sacar() e consultarSaldo(). Em seguida, crie uma subclasse
// ContaCorrente que herda da classe ContaBancaria. Adicione um método específico
// para a subclasse, como cobrarTarifaMensal(), que desconta uma tarifa mensal da conta corrente.
public class ContaBancaria {

    public void depositar(){

    }
    public void sacar(){

    }
    public void consultarSaldo(){

    }

}
package atvModulo3a03;

import java.util.Scanner;

public class ContaCorrente extends ContaBancaria {
    private double saldo;
    private double tarifa = 0.1; // tarifa de 10%

    Scanner s = new Scanner(System.in);

    public double getSaldo() {
        return saldo;
    }

    public void setSaldo(double saldo) {
        this.saldo = saldo;
    }

    public double getTarifa() {
        return tarifa;
    }

    public void setTarifa(double tarifa) {
        this.tarifa = tarifa;
    }

    @Override
    public void depositar(){
        System.out.println("======== Opção de depósito ========");
        System.out.println("Digite o valor que deseja depositar: ");
        double valorDeposito = s.nextDouble();
        this.saldo += valorDeposito;
        System.out.println("Seu novo saldo é: " + this.saldo + " reais");
    }

    @Override
    public void sacar(){
        System.out.println("======== Opção de saque ========");
        System.out.println("Digite o valor que deseja sacar: ");
        double valorSaque = s.nextDouble();
        if (valorSaque > this.saldo){
            System.out.println("Valor indisponível para saque! Tente novamente!");
        } else {
            this.saldo -= valorSaque;
            System.out.println("Seu novo saldo após o saque é: " + this.saldo + " reais");
        }
    }

    @Override
    public void consultarSaldo(){
        System.out.println("======== Opção consultar saldo ========");
        System.out.println("Seu saldo atual é: " + this.saldo + " reais");
    }

    public void cobrarTarifa(){
        if (this.saldo > 0) {
            System.out.println("======== Cobrança da tarifa ========");
            double valorTarifa = this.saldo * this.tarifa;
            this.saldo -= valorTarifa;
            System.out.println("Valor cobrado da tarifa: " + valorTarifa + " reais");
            System.out.println("Seu saldo atual após a tarifa será: " + this.saldo + " reais");
        } else {
            System.out.println("Não existe saldo para tarifa!");
        }
    }
}
package atvModulo3a03;

import java.util.Scanner;

public class MainContaBancaria {
    public static void main(String[] args) {
        ContaCorrente conta = new ContaCorrente();
        Scanner s = new Scanner(System.in);
        int opcao = 0;

        while (opcao != 5) {
            System.out.println("\n======== MENU ========");
            System.out.println("Selecione uma das opções:");
            System.out.println("1 - Consultar saldo.");
            System.out.println("2 - Depositar um valor.");
            System.out.println("3 - Sacar um valor.");
            System.out.println("4 - Valor da tarifa mensal.");
            System.out.println("5 - Sair.");
            System.out.print("Opção: ");
            opcao = s.nextInt();

            switch (opcao) {
                case 1:
                    conta.consultarSaldo();
                    break;
                case 2:
                    conta.depositar();
                    break;
                case 3:
                    conta.sacar();
                    break;
                case 4:
                    conta.cobrarTarifa();
                    break;
                case 5:
                    System.out.println("Processo finalizado! Saindo da conta.");
                    break;
                default:
                    System.out.println("Opção inválida. Tente novamente!");
            }
        }

        s.close();
    }
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Olá Caio! Tudo bem?

Gostei bastante da sua implementação do sistema bancário. Você utilizou bem os conceitos de herança e sobrescrita de métodos.

Também agradeço por compartilhar seu código com os demais estudantes, com certeza vai ajudar nos estudos de todas as pessoas que estão aprendendo este mesmo assunto.

Continue mergulhando em tecnologia e se tiver dúvidas, conte com o fórum.

Abraços e bons estudos!