Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] Desafio resolvido

package com.github.aldenyjr.exercicios.controle_nivel_bateria;

public class Bateria {

    private int nivel;

    public Bateria(int nivel) {
        setNivel(nivel);
    }

    public int getNivel() {
        return nivel;
    }

    public void setNivel(int nivel) {
        if (nivel < 0 || nivel > 100) {
            System.out.println("Nível inválido! Deve estar entre 0 e 100.");
        } else {
            this.nivel = nivel;
        }
    }

    public String getStatus() {
        if (nivel <= 20) {
            return "Bateria fraca";
        } else if (nivel <= 79) {
            return "Bateria ok";
        } else {
            return "Bateria cheia";
        }
    }

    public void exibirStatus() {
        System.out.printf("Nível: %d%% | Status: %s%n", nivel, getStatus());
    }
}
package com.github.aldenyjr.exercicios.controle_nivel_bateria;

public class ControleNivelBateria {
    public static void main(String[] args) {
        var bateria = new Bateria(15);
        bateria.exibirStatus();

        bateria.setNivel(50);
        bateria.exibirStatus();

        bateria.setNivel(85);
        bateria.exibirStatus();

        bateria.setNivel(150);
        bateria.exibirStatus();
    }
}

Resutado:

Nível: 15% | Status: Bateria fraca
Nível: 50% | Status: Bateria ok
Nível: 85% | Status: Bateria cheia
Nível inválido! Deve estar entre 0 e 100.
Nível: 85% | Status: Bateria cheia
2 respostas

Oi, Aldeny! Como vai?

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

Gostei bastante da forma como você aplicou o encapsulamento, principalmente protegendo o atributo nivel com private e controlando o acesso via setNivel. Também ficou claro o cuidado com validação e a separação da lógica no método getStatus, o que deixa o código organizado e fácil de entender.

Continue firme nos estudos.

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

Obrigado!