Solucionado (ver solução)
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!