1
resposta

Desafio: hora da prática

Resolução dos desafios propostos:
Class: ContaBacaria

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

    public int getNumeroDeConta() {
        return numeroDeConta;
    }

    public double getSaldo() {
        return saldo;
    }

    public String getTitular() {
        return titular;
    }

    public void setNumeroDeConta(int numeroDeConta) {
        this.numeroDeConta = numeroDeConta;
    }

    public void setTitular(String titular) {
        this.titular = titular;
    }

    public void depositar(double valor){
        this.saldo += valor;
    }

    public void sacar(double valor){
        if (saldo >= valor){
            this.saldo -= valor;
        } else {
            System.out.println("Saldo insuficiente");
        }
    }

    public void statusContaBancaria(){
        System.out.println("Titular:\t\t\t" + this.titular);
        System.out.println("Número de conta:\t" + this.numeroDeConta);
        System.out.println("Saldo:\t\t\t\t" + this.saldo);
    }
}

Class: IdadePessoa

public class IdadePessoa {
    private String nome;
    private int idade;

    public String getNome() {
        return nome;
    }

    public int getIdade() {
        return idade;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }
    public void setIdade(int idade) {
        this.idade = idade;
    }

    public boolean maiorIdade(){
        return this.idade >= 18;
    }
}

Class: Produto

public class Produto {
    private String nome;
    private double preco;
    private int quantidade;

    public String getNome() {
        return nome;
    }

    public double getPreco() {
        return preco;
    }

    public int getQuantidade() {
        return quantidade;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
    public void setPreco(double preco) {
        this.preco = preco;
    }
    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }
    public void aplicarDesconto(double porcentagemDesconto){
        this.preco -=  this.preco * porcentagemDesconto/100;
    }
}

Class:

public class Aluno {
    private String nome;
    private int idade;
    private double somaNotas;
    private int numeroDeAvaliacoes;

    public String getNome() {
        return nome;
    }

    public int getIdade() {
        return idade;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }
    public void setIdade(int idade) {
        this.idade = idade;
    }

    public void atribuirNota(double nota){
        this.somaNotas += nota;
        this.numeroDeAvaliacoes++;
    }

    public double getMedia() {
        if (this.numeroDeAvaliacoes > 0){
            return somaNotas/numeroDeAvaliacoes;
        } else  {
            return 0;
        }
    }

    void exibeAluno(){
        System.out.printf("""
                Aluno: \t\t%s
                Idade: \t\t%d
                Media: \t\t%f
                """, nome, idade, getMedia());
    }
}

Class: Livro

public class Livro {
    private String titulo;
    private String autor;

    public String getTitulo() {
        return titulo;
    }
    public String getAutor() {
        return autor;
    }
    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }
    public void setAutor(String autor) {
        this.autor = autor;
    }
    public void exibirDetalhes(){
        System.out.println("Titulo:\t" + this.titulo);
        System.out.println("Autor:\t" + this.autor);
    }
}
1 resposta

Olá, Raoni! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de encapsulamento para proteger os atributos das classes, utilizou muito bem os métodos getters e setters para manipular os dados e ainda compreendeu a importância de criar funções específicas para operações como depósito, saque e cálculo de média.

Uma dica interessante para o futuro é sobrescrever o método toString() em algumas classes para facilitar a exibição dos dados. Assim:

@Override
public String toString() {
    return "Titular: " + this.titular + 
           ", Número de conta: " + this.numeroDeConta + 
           ", Saldo: " + this.saldo;
}

Isso faz com que ao imprimir o objeto diretamente, os detalhes já sejam exibidos de forma organizada.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!