Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Map #30

Open
Suguetsu opened this issue Sep 12, 2023 · 2 comments
Open

Map #30

Suguetsu opened this issue Sep 12, 2023 · 2 comments

Comments

@Suguetsu
Copy link

Suguetsu commented Sep 12, 2023

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;
}`
@cami-la
Copy link
Owner

cami-la commented Sep 14, 2023

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! (:

@pauloheidenreich
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants