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 ✓.