Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

Resolução

package com.github.lucasdevrj.sistemadepontosparaalunos;

public class Aluno {

    private String nome;
    private int pontos;
    private Nivel nivel;

    public Aluno(String nome) {
        this.nome = nome;
        nivel = Nivel.NIVEL_1;
    }

    public int getPontos() {
        return pontos;
    }

    public void setPontos(int pontos) {
        this.pontos += pontos;
    }

    public Nivel getNivel() {
        return nivel;
    }

    public void setNivel(Nivel nivel) {
        this.nivel = nivel;
    }

    public void ganharPontos(int pontos) {
        if (!nivel.equals(Nivel.NIVEL_3) && this.pontos < 299) {
            if (pontos >= 0 && pontos <= 299) {
                setPontos(pontos);
                if (this.pontos <= 99) {
                    setNivel(Nivel.NIVEL_1);
                } else if (this.pontos <= 199) {
                    setNivel(Nivel.NIVEL_2);
                } else {
                    setNivel(Nivel.NIVEL_3);
                }
                System.out.println("Pontos adicionados com sucesso.");
            } else {
                System.out.println("Adicione pontos de 0 a 299.");
            }
        } else {
            System.out.println("Nível máximo já atingido.");
        }
    }

    public void exibirStatus() {
        String status = String.format("Nome: %s\nPontos: %d\nNível: %s", nome, pontos, nivel);
        System.out.println(status);
    }

}
package com.github.lucasdevrj.sistemadepontosparaalunos;

public enum Nivel {
    NIVEL_1("Nível 1"),
    NIVEL_2("Nível 2"),
    NIVEL_3("Nível 3");

    private String nivel;

     Nivel(String nivel) {
        this.nivel = nivel;
     }

    @Override
    public String toString() {
        return nivel;
    }
}
/**
 * Imagine que você está desenvolvendo um sistema de pontuação para uma plataforma de estudos.
 * Cada aluno ganha pontos conforme participa de atividades como assistir aulas, responder
 * quizzes ou completar tarefas. Seu objetivo é criar uma classe que gerencie essa pontuação
 * e determine o nível atual do aluno com base na quantidade total de pontos acumulados.
 *
 * Crie uma classe que:
 *
 * Armazene os atributos nome, pontos e nível.
 * Implemente um método ganharPontos() para adicionar pontos ao aluno.
 * O nível do aluno deve subir conforme a pontuação total:
 * Nivel 1: 0 a 99 pontos
 * Nível 2: 100 a 199 pontos
 * Nível 3: 200 a 299 pontos
 * E assim por diante (a cada 100 pontos, sobe de nível)
 * Implemente um método exibirStatus() que mostre o nome, pontos e nível atual.
 * Exemplo de entrada:
 *
 * Aluno aluno = new Aluno("Fernanda");
 *
 * aluno.ganharPontos(120);
 * aluno.exibirStatus();
 *
 * Saída esperada:
 *
 * Nome: Fernanda
 * Pontos: 120
 * Nível: 2
 */

package com.github.lucasdevrj.sistemadepontosparaalunos;

public class Principal {
    public static void main(String[] args) {
        Aluno aluno = new Aluno("Daniel Nogueira");
        do {
            int pontos = (int) (Math.random() * 100);
            aluno.exibirStatus();
            System.out.println();
            aluno.ganharPontos(pontos);
            System.out.println();
        } while (aluno.getPontos() < 299 && !aluno.getNivel().equals(Nivel.NIVEL_3));
        aluno.exibirStatus();
    }
}

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