1
resposta

[Projeto] SistemaDePontosParaAlunos

package br.com.nadson.desafiosc8.modelo;

public class Aluno {
    private String nome;
    private int pontos;
    private Nivel nivel;

    public Aluno(String nome) {
        this.nome = nome;
        this.pontos = 0;
        this.nivel = Nivel.INICIANTE;
    }

    public void ganharPontos(int pontos) {
        if (pontos < 0) {
            System.out.println("Pontos inválidos.");
            return;
        }
        this.pontos += pontos;
        atualizarNivel();
    }

    public void perderPontos(int pontos) {
        if (pontos < 0) {
            System.out.println("Pontos inválidos.");
            return;
        }
        this.pontos -= pontos;
        if (this.pontos < 0) this.pontos = 0;
        atualizarNivel();
    }

    private void atualizarNivel() {
        if (pontos < 100) {
            nivel = Nivel.INICIANTE;
        } else if (pontos < 200) {
            nivel = Nivel.INTERMEDIARIO;
        } else if (pontos < 500) {
            nivel = Nivel.AVANCADO;
        } else {
            nivel = Nivel.MESTRE;
        }
    }

    public void exibirStatus() {
        System.out.println("Aluno: " + nome);
        System.out.println("Pontos: " + pontos);
        System.out.println("Nível: " + nivel);
    }

    public enum Nivel {
        INICIANTE,
        INTERMEDIARIO,
        AVANCADO,
        MESTRE
    }
}
package br.com.nadson.desafiosc8.principal;

import br.com.nadson.desafiosc8.modelo.Aluno;

public class SistemaDePontosParaAlunos {

    public static void main(String[] args) {

        Aluno aluno1 = new Aluno("Maria");
        aluno1.ganharPontos(250);
        aluno1.exibirStatus();

        System.out.println("-------------------");

        Aluno aluno2 = new Aluno("João");
        aluno2.ganharPontos(90);
        aluno2.exibirStatus();

        System.out.println("-------------------");

        Aluno aluno3 = new Aluno("Ana");
        aluno3.ganharPontos(150);
        aluno3.exibirStatus();
    }
}
1 resposta

Oi, Nadson! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Uma dica interessante para o futuro e criar um método que retorne o nível atual, evitando acesso direto ao atributo. Veja este exemplo:


public Nivel getNivel() {
    return nivel;
}

Esse método permite consultar o nível do aluno de forma segura, reforçando o encapsulamento da classe.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

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