Segue a resposta do exercício proposto: incrementar os modificadores de acesso e inserir os getters e setters na Classe Filme.
Package: br.com.alura.screenmatch.modelo
Class: Filme
package br.com.alura.screenmatch.modelo;
public class Filme {
private String nome;
private int anoDeLancamento;
private int duracaoEmMinutos;
private boolean incluidoNoPlano;
private double somaDasAvaliacoes;
private int totalDeAvaliacoes;
public String getNome() {
return nome;
}
public int getAnoDeLancamento() {
return anoDeLancamento;
}
public int getDuracaoEmMinutos() {
return duracaoEmMinutos;
}
public boolean isIncluidoNoPlano() {
return incluidoNoPlano;
}
public int getTotalDeAvaliacoes() {
return totalDeAvaliacoes;
}
public void setNome(String nome) {
this.nome = nome;
}
public void setAnoDeLancamento(int anoDeLancamento) {
this.anoDeLancamento = anoDeLancamento;
}
public void setDuracaoEmMinutos(int duracaoEmMinutos) {
this.duracaoEmMinutos = duracaoEmMinutos;
}
public void setIncluidoNoPlano(boolean incluidoNoPlano) {
this.incluidoNoPlano = incluidoNoPlano;
}
public double pegaMedia() {
if (totalDeAvaliacoes != 0) {
return somaDasAvaliacoes/totalDeAvaliacoes;
} else {
return 0.0;
}
}
public void avalia(double avaliacao){
somaDasAvaliacoes += avaliacao;
totalDeAvaliacoes++;
}
public void exibeFichaTecnica(){
System.out.println("========================================================");
System.out.println("Nome do filme:\t\t" + nome);
System.out.println("Ano de lançamento:\t" + anoDeLancamento);
System.out.println("Duração em minutos:\t" + duracaoEmMinutos);
System.out.printf("Avaliação:\t\t\t%.1f\n", pegaMedia());
if(incluidoNoPlano){
System.out.println("Incluído no plano.");
} else {
System.out.println("Não incluído no plano.");
}
System.out.println("========================================================\n");
}
}
Class: Main
import br.com.alura.screenmatch.modelo.Filme;
public class Main {
public static void main(String[] args) {
Filme filme1 = new Filme();
filme1.setNome("Forest Gump");
filme1.setAnoDeLancamento(1994);
filme1.setDuracaoEmMinutos(142);
filme1.setIncluidoNoPlano(true);
filme1.avalia(8.7);
filme1.avalia(9.0);
filme1.avalia(9.2);
filme1.avalia(9.1);
filme1.exibeFichaTecnica();
Filme filme2 = new Filme();
filme2.setNome("The Name of the Rose");
filme2.setAnoDeLancamento(1986);
filme2.setDuracaoEmMinutos(126);
filme2.setIncluidoNoPlano(false);
filme2.avalia(7.7);
filme2.avalia(9.0);
filme2.avalia(9.2);
filme2.avalia(8.6);
filme2.exibeFichaTecnica();
}
}
Output:
//========================================================
Nome do filme: Forest Gump
Ano de lançamento: 1994
Duração em minutos: 142
Avaliação: 9,0
Incluído no plano.
//========================================================
//========================================================
Nome do filme: The Name of the Rose
Ano de lançamento: 1986
Duração em minutos: 126
Avaliação: 8,6
Não incluído no plano.
//========================================================
Process finished with exit code 0