1
resposta

Desafio: Hora da prática

Crie uma classe IdadePessoa com os atributos privados nome e idade. Utilize métodos getters e setters para acessar e modificar esses atributos. Adicione um método verificarIdade que imprime se a pessoa é maior de idade ou não.

package br.com.alura.modelos;

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

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

    public int getIdade() {
        return idade;
    }

    public String getNome() {
        return nome;
    }

    public void verificarIdade() {
        if (idade >= 18) {
            System.out.println("Você é maior de idade!");
        } else {
            System.out.println("Você é menor de idade!");
        }
        
    }
}

//Principal

package br.com.alura.exercicios;

import br.com.alura.modelos.IdadePessoa;

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

        IdadePessoa pessoaIdade = new IdadePessoa();

        pessoaIdade.setNome("Lucas Lopes Freire");
        pessoaIdade.setIdade(22);

        System.out.println("Nome cadastrado: " + pessoaIdade.getNome());
        System.out.println("Idade cadastrada: " + pessoaIdade.getIdade());

        pessoaIdade.verificarIdade();

    }
}

Desenvolva uma classe Produto com os atributos privados nome e preco. Utilize métodos getters e setters para acessar e modificar esses atributos. Adicione um método aplicarDesconto que recebe um valor percentual e reduz o preço do produto.

Na PrincipalProduto usei um sistem de validação para usuário mal-intencionados não abusarem de descontos irreais.

package br.com.alura.modelos;

public class Produto {

    private String nomeProduto;
    private double precoProduto;


    public String getNome() {
        return nomeProduto;
    }

    public double getPrecoProduto() {
        return precoProduto;
    }

    public void setPrecoProduto(double precoProduto) {
        this.precoProduto = precoProduto;
    }

    public void setNomeProduto(String nomeProduto) {
        this.nomeProduto = nomeProduto;
    }

    public void aplicarDesconto(double percentual){
        if (precoProduto > 60) {
            if (percentual > 15) {
                System.out.println("Desconto acima do permitido!");
            } else {
                this.precoProduto = precoProduto - (precoProduto * percentual / 100);
                System.out.printf("O produto entrou em desconto! Preço atual: %.2f%n", precoProduto);
            }
        } else {
            System.out.println("Valor abaixo do disponível para desconto!");
        }

    }
}
//Principal

package br.com.alura.exercicios;

import br.com.alura.modelos.Produto;

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

        Produto meuProduto = new Produto();

        meuProduto.setNomeProduto("Café Gourmet São Lucas");
        meuProduto.setPrecoProduto(60.99);

        meuProduto.aplicarDesconto(15);

    }
}

Desenvolva uma classe Aluno com os atributos privados nome e notas. Utilize métodos getters e setters para acessar e modificar esses atributos. Adicione um método calcularMedia que retorna a média das notas do aluno.

package br.com.alura.modelos;

public class Aluno {
    private String nome;
    private double somaNotas;
    private int totalNotas;

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

    public void setNotas(double nota) {
        if (nota > 10 || nota < 0) {
            System.out.println("Erro: Nota " + nota + " é inválida! Use valores entre 0 e 10.");
        } else {
            this.somaNotas += nota;
            this.totalNotas++;
            System.out.println("Nota " + nota + " adicionada com sucesso.");
        }
    }

    public double calcularMedia() {
        if (totalNotas == 0) return 0;
        return somaNotas / totalNotas;
    }

    public void exibirRelatorio() {
        System.out.println("\n--- RELATÓRIO DO ALUNO ---");
        System.out.println("Nome: " + nome);
        System.out.println("Total de notas inseridas: " + totalNotas);
        System.out.printf("Média Final: %.2f%n", calcularMedia());

        if (calcularMedia() >= 7) {
            System.out.println("Status: APROVADO!");
        } else {
            System.out.println("Status: REPROVADO.");
        }
    }
}

//PrincipalAluno

package br.com.alura.exercicios;

import br.com.alura.modelos.Aluno;

public class PrincipalAluno {
    public static void main(String[] args) {
        Aluno meuAluno = new Aluno();

        meuAluno.setNome("Lucas Lopes Freire");


        meuAluno.setNotas(9.5);
        meuAluno.setNotas(10.0);
        meuAluno.setNotas(5.5);


        meuAluno.exibirRelatorio();
    }
}
1 resposta

Oi, Lucas! Tudo bem?

Mandou muito bem na resolução dos desafios!

Gostei bastante de ver que você não se limitou ao básico e implementou regras de negócio (validações) dentro dos seus métodos. Isso demonstra que você já está pensando como um desenvolvedor preocupado com a segurança e a integridade dos dados (Programação Defensiva).

Continue explorando e testando novas validações, isso enriquece muito o aprendizado.

Bons estudos!

Sucesso

Imagem da comunidade