Eu queria saber se em uma situação real como no trabalho por exemplo, o jeito que eu imprimo como o valor da média e o valor do total de avaliações importaria, já que eu mostro eles dentro do método da ficha técnica do filme.
public class Filme {
String nome;
String sinopse;
boolean incluidoNoPlano;
private double mediaAvaliacoes;
int anoDeLancamento;
private int totalAvaliacoes = 0;
int duracao;
int getTotalAvaliacoes(){ //metodo para que se possa acessar o valor privado de algo
return totalAvaliacoes;
}
double getMediaAvaliacoes(){
return mediaAvaliacoes;
}
void informacoes(){
System.out.println("Nome do filme: "+nome);
System.out.println("Sinopse: "+sinopse);
System.out.println("Ano de lançamento: "+anoDeLancamento);
System.out.println("Duração: " + duracao + " minutos");
System.out.printf("Nota: %.1f\n", mediaAvaliacoes);
System.out.println("Total de avaliações: "+totalAvaliacoes);
}
void avalia(double nota){
totalAvaliacoes++;
mediaAvaliacoes = (mediaAvaliacoes * (totalAvaliacoes - 1) + nota) / totalAvaliacoes;
}
}
public class Main {
public static void main(String[] args) {
Filme meuFilme = new Filme();
meuFilme.nome = "Carros";
meuFilme.anoDeLancamento = 2006;
meuFilme.duracao = 117;
meuFilme.sinopse = "Ao viajar para a Califórnia, o famoso carro de corridas Relâmpago McQueen se perde e vai parar em Radiator Springs, uma cidadezinha na Rota 66. Ele conhece novos amigos e aprende lições que mudam sua forma de encarar a vida.";
meuFilme.avalia(9);
meuFilme.avalia(2);
meuFilme.avalia(10);
meuFilme.informacoes();
System.out.println("Total de avaliações usando get: "+meuFilme.getTotalAvaliacoes()); //outro jeito de pegar o total de avaliacoes quando o valor é privado
System.out.println("Média usando get: "+meuFilme.getMediaAvaliacoes());
}
}