1
resposta

[Dúvida] Problemas com filtro

Na classe Principal, depois desse código era para aparecer a mensagem "esse é bom filme no momento", mas só aparece "Coloque na sua lista para assistir depois".

Episodio episodio = new Episodio(); episodio.setNumero(1); episodio.setSerie(lost); episodio.setTotalDeVisualizacoes(300); filtro.filtra(episodio);

1 resposta

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:

  1. 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;
        }
    }
    
  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.

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