Olá Beatriz! Como vai?
Pelo contexto que você forneceu, o método getClassificacao() na classe Episodio deve retornar 4 se o total de visualizações for maior que 100, e 2 caso contrário. Como você mencionou que o episódio tem 300 visualizações, o getClassificacao() deveria retornar 4, o que deveria resultar na mensagem "Está entre os preferidos do momento".
Aqui estão algumas coisas que você pode verificar:
Verifique o Método getClassificacao(): Certifique-se de que o método getClassificacao() na sua classe Episodio está implementado corretamente e está realmente retornando 4 quando totalVisualizacoes é maior que 100.
@Override
public int getClassificacao() {
if (totalVisualizacoes > 100) {
return 4;
} else {
return 2;
}
}
Confirme o Valor de totalVisualizacoes: Antes de chamar filtro.filtra(episodio), você pode adicionar um System.out.println(episodio.getTotalVisualizacoes()) para garantir que o valor é realmente 300.
Verifique a Lógica do filtra(): Verifique se a lógica no método filtra() da classe FiltroRecomendacao está correta e que está usando classificavel.getClassificacao() para decidir qual mensagem imprimir.
public void filtra(Classificavel classificavel){
if (classificavel.getClassificacao() >= 4) {
System.out.println("Está entre os preferidos do momento");
} else if (classificavel.getClassificacao() >= 2) {
System.out.println("Muito bem avaliado no momento");
} else {
System.out.println("Coloque na sua lista para assistir depois");
}
}
Se tudo estiver correto e ainda assim não funcionar, pode ser útil depurar o código ou que você compartilhe ele todo comigo, para assim eu poder fazer testes.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.