Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Dúvida no Ex. 3 da Aula 3 - Códigos parecidos e o Template Method

O que eu errei?

public class IHIT extends TemplateDeImpostoCondicional {

    @Override
    protected abstract double minimaTaxacao(Orcamento orcamento) {
        return orcamento.getValor() * (0.01 * orcamento.getItens().size());
    }

    @Override
    protected abstract double maximaTaxacao(Orcamento orcamento) {
        return orcamento.getValor() * 0.13 + 100;
    }

    @Override
    public boolean deveUsarMaximaTaxacao(Orcamento orcamento) {
        List<String> noOrcamento = new ArrayList<String>();
        for(Item item : orcamento.getItens()) {
            if(noOrcamento.contains(item.getNome())) {
                return true;

            } else {
                noOrcamento.add(item.getNome());
            }
            return false;
        }
    }


}
1 resposta
solução!

Anatoly,

O seu return false deve ser fora do for. Somente depois que você percorrer a lista inteira de itens que você deve retornar false.

Abraço!