Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Projeto encapsulamento

public class Filme { private String nome; private int anoLancamento; private double avaliacao;

public Filme(String nome, int anoLancamento) {
    this.nome = nome;
    this.anoLancamento = anoLancamento;
    this.avaliacao = 0;
}

public void avaliar(double nota) {
    if (nota >= 0 && nota <= 10) {
        this.avaliacao = nota;
    } else {
        System.out.println("Nota inválida. A nota deve ser entre 0 e 10.");
    }
}

public String getNome() {
    return nome;
}

public int getAnoLancamento() {
    return anoLancamento;
}

public double getAvaliacao() {
    return avaliacao;
}

}

1 resposta
solução!

Oii, Hellen!

Seu código tá bem organizado! Você aplicou o conceito de encapsulamento de forma correta, protegendo os atributos e permitindo que sejam acessados e modificados apenas pelos métodos da classe.

Uma dica interessante para o futuro é, quando houver mais de uma avaliação, calcular uma média de avaliações, acumulando as notas. Veja um pequeno exemplo de como poderia ser feito:


private double somaDasAvaliacoes;
private int totalDeAvaliacoes;

public void avaliar(double nota) {
    if (nota >= 0 && nota <= 10) {
        somaDasAvaliacoes += nota;
        totalDeAvaliacoes++;
    } else {
        System.out.println("Nota invalida. A nota deve ser entre 0 e 10.");
    }
}

public double getAvaliacao() {
    return somaDasAvaliacoes / totalDeAvaliacoes;
}

Assim, você consegue ter uma média das avaliações, deixando o programa mais realista.

Alura

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