1
resposta

[PROJETO] Controle do nível de bateria

public class Bateria {
    private int bateria;

    public void setNivel (int bateria){
        if (bateria>= 0 && bateria <=100){
            this.bateria = bateria;
        }
    }

    public int getBateria() {
        return bateria;
    }
    public String exibirStatus(){
            if (bateria <=20){
                return "bateria fraca";
            }else if (bateria <= 80){
                return "Bateria ok";
            } else {
            return "bateria cheia";
        }
    } 
}

public class NivelBateria {
    public static void main(String[] args) {
        Bateria bateria = new Bateria();
        Scanner scanner = new Scanner(System.in);
        System.out.println("Qual o nivel da sua bateria?");
        int nivelBateria = scanner.nextInt();
        bateria.setNivel(nivelBateria);
            System.out.println("Status: " + bateria.exibirStatus());
    scanner.close();
    }
}
1 resposta

Oi, Letícia! Como vai?

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

Gostei da forma como você aplicou encapsulamento criando os métodos setNivel e getBateria, além da validação garantindo que o valor fique entre 0 e 100. A lógica do método exibirStatus() também ficou bem organizada usando if e else if, separando claramente os níveis de bateria.

Uma dica interessante para o futuro é utilizar o método Math.min() e Math.max() pra garantir limites em valores numéricos. Isso ajuda a manter o valor dentro de um intervalo permitido de forma simples.


int nivel = Integer.parseInt(prompt("Digite o nivel da bateria:"));

nivel = Math.max(0, Math.min(100, nivel));

System.out.println(nivel);

Nesse código, Math.min impede que o valor passe de 100, enquanto Math.max evita valores menores que 0, mantendo o nível de bateria sempre dentro do intervalo correto.

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