package br.com.alura.screematch.modelos;
public class Filme {
private String nome;
private int anoDeLancamento;
private int duracaoEmMinutos;
private boolean incluidoNoPlano;
private double somaDasAvaliacoes;
private int totalDeAvaliacoes;
// Getters
public int getDuracaoEmMinutos() {
return duracaoEmMinutos;
}
public int getTotalDeAvaliacoes() {
return totalDeAvaliacoes;
}
// Setters
public void setNome(String nome) {
this.nome = nome;
}
public void setDuracaoEmMinutos(int duracaoEmMinutos) {
this.duracaoEmMinutos = duracaoEmMinutos;
}
public void setAnoDeLancamento(int anoDeLancamento) {
this.anoDeLancamento = anoDeLancamento;
}
public void setIncluidoNoPlano(boolean incluidoNoPlano) {
this.incluidoNoPlano = incluidoNoPlano;
}
// Exibe a ficha técnica
public void exibeFichaTecnica() {
System.out.println("Nome do filme: " + 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"));
}
// Avaliação do filme
public void avalia(double nota) {
somaDasAvaliacoes += nota;
totalDeAvaliacoes++;
}
// Retorna a média das avaliações
public double pegaMedia() {
if (totalDeAvaliacoes == 0) {
return 0;
}
return somaDasAvaliacoes / totalDeAvaliacoes;
}
}
import br.com.alura.screematch.modelos.Filme;
public class Principal {
public static void main(String[] args) {
Filme meuFilme = new Filme();
meuFilme.setNome("É Assim Que Acaba");
meuFilme.setAnoDeLancamento(2024);
meuFilme.setDuracaoEmMinutos(130);
meuFilme.setIncluidoNoPlano(true);
meuFilme.exibeFichaTecnica();
meuFilme.avalia(7.8);
meuFilme.avalia(6.0);
meuFilme.avalia(9.5);
System.out.println("Total de avaliações: " + meuFilme.getTotalDeAvaliacoes());
System.out.println("Média das avaliações: " + meuFilme.pegaMedia());
}
}