Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida no Ex. 6 da Aula 1 - A grande variedade de impostos e o padrão Strategy

Oi gente! Aguem pode me explica o seguinte trecho do codigo, sobretudo o metodo nextInt(). O que o chute > 0 && chute <= 1; chute >= 2 && chute <= 4; significam?

    public double calcula(Conta conta) {
          int chute = random.nextInt(10);
          if(chute >= 0 && chute <= 1) return conta.getSaldo() * 0.5;
          else if (chute >= 2 && chute <= 4) return conta.getSaldo() * 0.3;
          else return conta.getSaldo() * 0.006;
        }
3 respostas

Olá Cremildo,

o método nextInt() da classe random retorna um número inteiro aleatório.

Para a sua segunda pergunta, eles são todos condições de ifs, por exemplo:

chute > 0 && chute <= 1 ele vai entrar nesse if se o valor da variável chute for maior que 0 E menor ou igual a 1.

você pode encontrar mais sobre ifs e condições no curso de Lógica de programação da trilha primeiros passos

solução!

Cremildo, tem certeza que está na aula certa? Padrões de projeto já é um assunto bem avançado pra esse tipo de dúvida, mas em todo caso segue um link pra esclarecer a dúvida do random.nextInt http://www.k19.com.br/artigos/numeros-aleatorios-em-java-a-classe-random/, e em relação a lógica é o seguinte:

1. public double calcula(Conta conta) {
2.          int chute = random.nextInt(10);
3.          if(chute >= 0 && chute <= 1) return conta.getSaldo() * 0.5;
4.          else if (chute >= 2 && chute <= 4) return conta.getSaldo() * 0.3;
5.          else return conta.getSaldo() * 0.006;
6.        }
linha 2 - "chute" é um número gerado aleatoriamente entre 0 e 9.
linha 3 - verifica se o número esta contido entre {0, 1}
linha 4 - verifica se o número esta contido entre {2, 3, 4}
linha 3 - verifica se o número esta contido entre {5, 6, 7, 8, 9}

Thanks pelo esclarecimento gente, estou na aula certa sim, mas vocês ajudaram mt!