package br.com.alura.screenmatch.modelos;
public class Movie {
private double mediaNotas;
private double somaNotas; //encapsulando a soma de notas e o total de notas para que ninguem altere a avaliação dos filmes e a média.
private int totalNotas;
private String nomeFilme;
private int tempoDeDuracaoMinutos;
private int anoDeLancamento;
private boolean incluidoNoPlano; // encapsulando o verificador de pl
public int getTotalNotas() {
return totalNotas;
}
public String getNomeFilme() {
return nomeFilme;
}
public int getTempoDeDuracaoMinutos() {
return tempoDeDuracaoMinutos;
}
public int getAnoDeLancamento() {
return anoDeLancamento;
}
public boolean isIncluidoNoPlano() {
return incluidoNoPlano;
}
public void setIncluidoNoPlano(boolean incluidoNoPlano) {
this.incluidoNoPlano = incluidoNoPlano;
}
public void setAnoDeLancamento(int anoDeLancamento) {
this.anoDeLancamento = anoDeLancamento;
}
public void setTempoDeDuracaoMinutos(int tempoDeDuracaoMinutos) {
this.tempoDeDuracaoMinutos = tempoDeDuracaoMinutos;
}
public void setNomeFilme(String nomeFilme) {
this.nomeFilme = nomeFilme;
}
public void avaliaFilme(double nota){
somaNotas += nota;
totalNotas++;
}
public double obtermediaNotas(){
mediaNotas = somaNotas/totalNotas;
return mediaNotas;
}
public void exibeInfoFilme(){
System.out.println("Nome do filme: " + nomeFilme);
System.out.println("Ano de lançamento: " + anoDeLancamento);
System.out.println("Duração (em minutos): " + tempoDeDuracaoMinutos);
System.out.println("Filme incluído no plano: " + incluidoNoPlano);
System.out.println("Nota do Filme: " + obtermediaNotas());
System.out.println("Total de avaliações: " + totalNotas);
}
}
import br.com.alura.screenmatch.modelos.Movie;
public class Main {
public static void main(String[] args) {
Movie myMovie = new Movie();
myMovie.setNomeFilme("La la land");
myMovie.setAnoDeLancamento(2016);
myMovie.setTempoDeDuracaoMinutos(128);
myMovie.setIncluidoNoPlano(true);
myMovie.avaliaFilme(7);
myMovie.avaliaFilme(10);
myMovie.avaliaFilme(9);
myMovie.avaliaFilme(8);
myMovie.exibeInfoFilme();
myMovie.obtermediaNotas();
}
}