1
resposta

[Projeto] Controle do nível de bateria

public class Bateria {

    private int nivelDeBateria;
    private boolean nivelValido;

    public void setNivelDeBateria(int nivelDeBateria) {
        if(nivelDeBateria >= 0 && nivelDeBateria <=100){
            this.nivelDeBateria =nivelDeBateria;
            this.nivelValido = true;
        } else{
            System.out.println("Valor inválido");
            this.nivelValido =false;
        }
    }

    String exibirStatus(){
        if(!nivelValido){
            return "Nível de bateria inválido";
        }
        if(nivelDeBateria<= 20){
            return "Bateria fraca";
        } else if (nivelDeBateria < 80) {
            return "Bateria ok";
        }else{
            return "Bateria cheia";
        }

    }


    public static void main(String[] args) {
        Bateria b = new Bateria();
        b.setNivelDeBateria(-8);
        System.out.println("Status: " + b.exibirStatus());
    }
}
1 resposta

Olá, João, como vai?

O seu código implementa com sucesso os conceitos de encapsulamento ao utilizar o modificador de acesso privado para o atributo de nível e um método público para sua alteração com validação. A utilização de uma variável auxiliar para controlar a validade do dado inserido é uma solução criativa para garantir que o status não seja exibido incorretamente.

Parabéns pelo desenvolvimento da lógica e por compartilhar sua resolução no fórum, continue progredindo em seus estudos de Java.

Qualquer dúvida, o fórum está a disposição.

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