Classe:
package br.com.bec.screenmaker.modelos;
public class Filme {
private String nome;
private int anoDeLancamento;
private int duracaoEmMinutos;
private boolean incluidoNoPlano;
private double somaDasAvaliacoes;
private int totalDeAvaliacoes;
public void exibeFichaTecnica(){
System.out.println(nome);
System.out.println("Ano de Lançamento: " + anoDeLancamento);
System.out.println("Duração: " + duracaoEmMinutos + " minutos");
if(incluidoNoPlano){
System.out.println("Incluso no plano");
} else {
System.out.println("Não-incluso no plano");
}
}
public String getNome() {
return nome;
}
public int getAnoDeLancamento() {
return anoDeLancamento;
}
public int getDuracaoEmMinutos() {
return duracaoEmMinutos;
}
public boolean isIncluidoNoPlano() {
return incluidoNoPlano;
}
public double getSomaDasAvaliacoes() {
return somaDasAvaliacoes;
}
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 void avalia(double nota){
somaDasAvaliacoes += nota;
totalDeAvaliacoes++;
}
public double pegaMedia(){
return somaDasAvaliacoes / totalDeAvaliacoes;
}
}
Main:
import br.com.bec.screenmaker.modelos.Filme;
public class Main {
public static void main(String[] args) {
Filme f1 = new Filme();
f1.setNome("Glass Onion");
f1.setAnoDeLancamento(2021);
f1.setDuracaoEmMinutos(120);
f1.setIncluidoNoPlano(true);
f1.exibeFichaTecnica();
f1.avalia(9);
f1.avalia(8);
f1.avalia(9.5);
System.out.println("Avaliação média: %.2f".formatted(f1.pegaMedia()));
}
}