public class Filme {
// Atributos da classe
String nome;
int anoDeLancamento;
int duracaoEmMinutos;
boolean incluidoNoPlano;
int somaDasAvaliacoes;
int totalDeAvaliacoes;
// Método para exibir a ficha técnica
void exibeFichaTecnica() {
System.out.println("Nome: " + nome);
System.out.println("Ano de Lançamento: " + anoDeLancamento);
System.out.println("Duração: " + duracaoEmMinutos + " minutos");
System.out.println("Incluído no Plano: " + (incluidoNoPlano ? "Sim" : "Não"));
}
// Método para registrar uma avaliação
void avalia(int nota) {
somaDasAvaliacoes += nota;
totalDeAvaliacoes++;
}
// Método para calcular a média das avaliações
double pegaMedia() {
if (totalDeAvaliacoes == 0) {
return 0; // Evita divisão por zero
}
return (double) somaDasAvaliacoes / totalDeAvaliacoes;
}
}
public class Main { public static void main(String[] args) { // Criação do objeto Filme Filme meuFilme = new Filme();
// Preenchendo os atributos
meuFilme.nome = "O Senhor dos Anéis: A Sociedade do Anel";
meuFilme.anoDeLancamento = 2001;
meuFilme.duracaoEmMinutos = 178;
meuFilme.incluidoNoPlano = true;
// Chamando métodos da classe Filme
meuFilme.exibeFichaTecnica();
// Avaliações
meuFilme.avalia(5);
meuFilme.avalia(4);
meuFilme.avalia(5);
// Exibindo a média das avaliações
System.out.println("Total de Avaliações: " + meuFilme.totalDeAvaliacoes);
System.out.println("Média das Avaliações: " + meuFilme.pegaMedia());
}
}
**Explicação do Código
Classe Filme:**
A classe contém os atributos definidos no enunciado. Possui métodos para exibir a ficha técnica, registrar avaliações e calcular a média das avaliações.
Classe Main:
Instancia um objeto da classe Filme. Preenche os atributos com valores específicos. Chama os métodos da classe Filme para exibir informações e calcular médias. Cálculo da Média:
O método pegaMedia verifica se o total de avaliações é maior que zero antes de calcular a média, para evitar erros de divisão por zero.