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

[Minha Solução] Desafio Criar Classe ContaBancaria

Crie uma classe ContaBancaria com os seguintes atributos: numeroConta (privado), saldo (privado) e titular (publico). Implemente métodos getters e setters para os atributos privados.


public class ContaBancaria {
    private int numeroConta;
    private double saldo;
    public String titular;

    public int getNumeroConta() {
        return numeroConta;
    }

    public void setNumeroConta(int numeroConta) {
        this.numeroConta = numeroConta;
    }

    public double getSaldo() {
        return saldo;
    }

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

    public void exibeFichaCliente() {
        System.out.println("\n=============== FICHA CLIENTE ====================");
        System.out.println("Nome do Cliente: " + titular);
        System.out.println("Numero da Conta: " + numeroConta);
        System.out.println("Saldo atual em conta: " + saldo);
        System.out.println("==================================================");
    }

    public void avaliaNumeroConta() {
        if (numeroConta == 0001) {
            System.out.println("Parabéns! Conta número: " + numeroConta + "! acaba de ser selecionado! " +
                    "Utilize o cartão SEMPRE!");
        } else {
            System.out.println("Continue utilizando seu cartão SEMPRE para participar das promoções!");
        }
    }

    public double adicionaValorSaldo() {
        if (numeroConta == 0001) {
            System.out.println("\nAo ser selecionado, você recebe R$ 100,00 a mais em sua conta!");
            System.out.println("Saldo anterior ao prêmio: " + saldo);
            System.out.println("Saldo após ganhar o prêmio: " + (saldo + 100));
        }
        return saldo;
    }
}

public class Principal {
    public static void main(String[] args) {

        ContaBancaria minhaConta = new ContaBancaria();

        minhaConta.titular = "Jhon Jhon da Silva";
        minhaConta.setNumeroConta(0001);
        minhaConta.setSaldo(200.00);
        minhaConta.exibeFichaCliente();
        minhaConta.avaliaNumeroConta();
        minhaConta.adicionaValorSaldo();

        ContaBancaria minhaConta2 = new ContaBancaria();

        minhaConta2.titular = "Katy Perry Souza";
        minhaConta2.setNumeroConta(0002);
        minhaConta2.setSaldo(300.00);
        minhaConta2.exibeFichaCliente();
        minhaConta2.avaliaNumeroConta();
        minhaConta2.adicionaValorSaldo();
    }
}

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

1 resposta
solução!

Bom dia Carlos! Tudo bem com você?

Meus parabéns pela finalização do desafio e por compartilhar sua resolução no fórum da Alura. Gostaria de aproveitar a oportunidade e deixar algumas dicas de implementação do seu código que podem melhorar e garantir que o seu código seja ainda mais robusto e seguindo as boas práticas de programação. Vou destacar as seguintes sugestões:

  • Uso do this: Para evitar ambiguidades, é uma boa prática usar o this ao referenciar atributos da classe dentro dos métodos

  • Método adicionaValorSaldo: Atualmente, ele não está alterando o saldo da conta. Para que o saldo seja atualizado, é necessário adicionar o valor ao saldo e depois retornar o novo saldo.

  • Formatação: A formatação do número da conta pode ser ajustada para evitar confusões com zeros à esquerda.

Deixo abaixo a versão da sua classe ContaBancaria com as dicas apresentadas acima aplicadas:

public class ContaBancaria {
    private int numeroConta;
    private double saldo;
    public String titular;

    public int getNumeroConta() {
        return this.numeroConta;
    }

    public void setNumeroConta(int numeroConta) {
        this.numeroConta = numeroConta;
    }

    public double getSaldo() {
        return this.saldo;
    }

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

    public void exibeFichaCliente() {
        System.out.println("\n=============== FICHA CLIENTE ====================");
        System.out.println("Nome do Cliente: " + this.titular);
        System.out.println("Numero da Conta: " + this.numeroConta);
        System.out.println("Saldo atual em conta: " + this.saldo);
        System.out.println("==================================================");
    }

    public void avaliaNumeroConta() {
        if (this.numeroConta == 1) {
            System.out.println("Parabéns! Conta número: " + this.numeroConta + "! acaba de ser selecionado! " +
                    "Utilize o cartão SEMPRE!");
        } else {
            System.out.println("Continue utilizando seu cartão SEMPRE para participar das promoções!");
        }
    }

    public double adicionaValorSaldo() {
        if (this.numeroConta == 1) {
            System.out.println("\nAo ser selecionado, você recebe R$ 100,00 a mais em sua conta!");
            System.out.println("Saldo anterior ao prêmio: " + this.saldo);
            this.saldo += 100;
            System.out.println("Saldo após ganhar o prêmio: " + this.saldo);
        }
        return this.saldo;
    }
}

E aqui está a classe Principal ajustada para usar a nova versão da ContaBancaria:

public class Principal {
    public static void main(String[] args) {

        ContaBancaria minhaConta = new ContaBancaria();

        minhaConta.titular = "Jhon Jhon da Silva";
        minhaConta.setNumeroConta(1);
        minhaConta.setSaldo(200.00);
        minhaConta.exibeFichaCliente();
        minhaConta.avaliaNumeroConta();
        minhaConta.adicionaValorSaldo();

        ContaBancaria minhaConta2 = new ContaBancaria();

        minhaConta2.titular = "Katy Perry Souza";
        minhaConta2.setNumeroConta(2);
        minhaConta2.setSaldo(300.00);
        minhaConta2.exibeFichaCliente();
        minhaConta2.avaliaNumeroConta();
        minhaConta2.adicionaValorSaldo();
    }
}

Caso você queira aplicar as mudanças sugeridas acima, lembre de salvar o arquivo antes de executá-lo.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!