Open pablovvoliveira opened 1 year ago
Oi, @pablovvoliveira. Tudo ótimo e por aí?
Tenta esse código aqui:
public Produto obterProdutoMaisCaro() {
Produto produtoMaisCaro = null;
double maiorPreco = Double.MIN_VALUE;
for (Produto p : estoqueProdutosMap.values()) {
if (p.getPreco() > maiorPreco) {
produtoMaisCaro = p;
maiorPreco = p.getPreco(); //esqueci de atualizar o valor do maiorPreco com o preço do produto para continuar as comparações.
}
}
return produtoMaisCaro;
}
Esqueci de atualizar o valor do maiorPreco
com o preço do produto para continuar as comparações. :(
Muito obrigada pela observação, viu? Vou atualizar o repositório agora!
Bons estudos e caso encontre algum outro erro, me avisa que vamos atualizando!
Olá, professora Camila. Tudo bem?
Eu estava tendo um problema nos testes do método obterProdutoMaisCaro(), sempre retorna o último produto instanciado, independente do valor. Comparei meu código com o seu e a implementação do método estava correta.
Copiei o seu método main e funcionou. Mas observei que o último produto é o mais caro: estoque.adicionarProduto(1L, "Produto A", 1, 5.0); estoque.adicionarProduto(2L, "Produto B", 5, 11.0); estoque.adicionarProduto(3L, "Produto C", 3, 15.0); estoque.adicionarProduto(8L, "Produto D", 2, 23.0);
Sendo assim, eu coloquei o valor mais alto no Produto A, 50.0; mas o retorno no terminal continua o Produto D: Produto mais caro: Produto{nome='Produto D', preco=23.0, quantidade=2}
Acredito que tenha algum problema no método. Pode me ajudar, por favor?