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!

1
resposta

sistemas de pontos

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

var aluno=new Aluno("Felipe");
aluno.adicionarPontos(120);
aluno.exibirDados();
public class Aluno {
    private String nome;
    private int pontos;
    private int nivel;

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

    public void adicionarPontos(int pontos){
        this.pontos+=pontos;
        this.nivel=(this.pontos/100) + 1;
    }
    public void exibirDados(){
        System.out.printf("nome: %s\n pontos: %d \n nivel: %d",nome,pontos,nivel);
    }
}
1 resposta

Oi, Felipe. Tudo bem com você?

Obrigado por compartilhar sua solução do sistema de pontos. Seu código implementa corretamente a lógica de acúmulo e cálculo de nível, e a fórmula que você utilizou no método adicionarPontos() funciona bem para determinar o nível baseado no total de pontos. A estrutura está bem organizada e atende aos requisitos solicitados no exercício.

Uma consideração importante: o atributo nível não é inicializado no construtor, permanecendo com valor padrão de zero. Se alguém chamar exibirDados() antes de chamar adicionarPontos(), o nível será exibido como zero, o que não corresponde à faixa esperada para zero pontos, que deveria ser nível um. Recomendo inicializar nivel com o valor um no construtor ou calcular o nível no método exibirDados() para garantir consistência.

Como você pensaria em validar situações onde pontos negativos fossem adicionados? Qual seria a melhor forma de proteger seu sistema contra operações inválidas?

Parabéns por resolver o exercício com lógica clara. Continue compartilhando suas soluções no fórum, ele está à sua disposição para dúvidas.

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