collections-java-api-2023 icon indicating copy to clipboard operation
collections-java-api-2023 copied to clipboard

Map

Open Suguetsu opened this issue 2 years ago • 2 comments

Hi Camila!

So, on the exercise of comparation about the most espensive product of movie A4V5, you build the method to get return, and u use the Double.MIN.VALUE, but don't update the variable inside of the loop and it runs correctlly , can u explain me?

Então no exercício de comparação de produto mais caro da A4V5, quando voce monta o metodo de pegar o produto mais caro, você usa o Double.MIN.VALUE, mas não atualiza a variável dentro do laço de repetição e mesmo assim o metodo funciona corretamente , pode me explicar o porque?

` public Produto ProdutoMaisCaro() {

    Produto produtoMaisCaro = null;
    double maiorPreco = Double.MIN_VALUE;

    if (!estoqueProdutoMap.isEmpty()) {

        for (Produto p : estoqueProdutoMap.values()) {

            if (p.getPreco() > maiorPreco)
                produtoMaisCaro = p;
                                         ******  maiorPreco, woudn't be here? like maiorPreco = p.getPreco() ??  ******

        }
    }

    return produtoMaisCaro;
}`

Suguetsu avatar Sep 12 '23 03:09 Suguetsu

Oi, @Suguetsu. Muito obrigada pelo feedback.

Então, o que que acontece: quando eu fiz os testes, na verdade o laço está pegando sempre o último elemento que por coincidência, no exemplo que utilizei, o último elemento sempre é o maior. Mas o correto é o seguinte:

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();
      }
    }
    return produtoMaisCaro;
  }

Vou regravar esta parte da aula para corrigir isso. Obrigada e qualquer dúvida, fico à disposição! (:

cami-la avatar Sep 14 '23 19:09 cami-la

Olá Camila e Rodrigo,

Eu estava abrindo uma issue sobre este mesmo assunto e vi que esta já tinha sido resolvido o problema. Muito obrigado.

pauloheidenreich avatar May 22 '24 03:05 pauloheidenreich