Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Minha Solução] Desafio Criar Conta Bancaria

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() {

    }
}

import java.util.Scanner;
public class ContaCorrente extends ContaBancaria {
    private double saldo;
    private double saque;
    private double tarifa;

    Scanner sc = new Scanner(System.in);

    @Override
    public void depositar() {
        System.out.println("\n===== FUNÇÃO DEPOSITAR =====");
        System.out.println("Digite o valor do depósito: ");
        this.setSaldo(sc.nextDouble());
        System.out.println("Seu novo saldo é: R$ " + this.getSaldo());
    }

    @Override
    public void sacar() {
        System.out.println("\n===== FUNÇÃO SACAR =====");
        System.out.println("Digite o valor que deseja sacar: ");
        this.setSaque(sc.nextDouble());
        if (this.getSaque() > this.getSaldo()) {
            System.out.println("\nSaldo indisponível! Tente novamente!");
        } else {
            this.setSaldo(this.getSaldo() - this.getSaque());
            System.out.println("\nSeu novo saldo após o saque é: R$ " + this.getSaldo());
        }
    }

    @Override
    public void consultarSaldo() {
        System.out.println("\n===== FUNÇÃO CONSULTAR SALDO =====");
        System.out.println("Seu saldo atualmente em conta é: R$ " + this.getSaldo());
    }

    public void cobrarTarifaMensal() {
        if (this.getSaldo() > 0) {
            System.out.println("\n===== COBRANÇA DE TARIFA =====");
            this.setTarifa(this.getSaldo() - (this.getSaldo() * 0.1));
            this.setSaldo(this.getSaldo() - this.getTarifa());
            System.out.println("Valor cobrado de Tarifa Mensal: R$ " + this.getSaldo());
            System.out.println("Valor do saldo após a cobrança da tarifa: R$ " + this.getTarifa());

        } else {
            System.out.println("\nVocê não possui saldo para ser tarifado!");
        }
    }

    public double getSaldo() {
        return saldo;
    }

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

    public double getSaque() {
        return saque;
    }

    public void setSaque(double saque) {
        this.saque = saque;
    }

    public double getTarifa() {
        return tarifa;
    }

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

public class Principal {
    public static void main(String[] args) {
        ContaCorrente cc = new ContaCorrente();
        cc.depositar();
        cc.sacar();
        cc.consultarSaldo();
        cc.cobrarTarifaMensal();
    }
}

Execução 1 - Programa é executado

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


Execução 2 - Saque maior que saldo

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


Execução 3 - Valor saldo 0 não tarifado

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

2 respostas
solução!

Oi, Carlos! Tudo bem?

Boa! Ótimos códigos, parabéns pela dedicação e elaboração deles! Obrigada também por tê-los compartilhado com a nossa comunidade do fórum, tenho certeza que ajudará muitos colegas! Caso surja alguma dúvida, sinta-se à vontade em comunicar por aqui, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!

Mano. Obrigado de verdade, eu tinha visto a opinião do instrutor mas seu código está mais completo e me ajudou a ter outra visão de como posso estruturar meu código. Coisa que nem passava pela minha cabeça que poderia se fazer. Parabéns, muito top!!!