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();
}
}

Beleza?