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

Duvida Exercício Estratégias para Investimentos!

Olá boa noite, eu fui fazer o exercício "Estratégias para Investimentos", apliquei o Design Pattern Strategy sem problemas, mais o que me chamou atenção , foi a classe Random, principalmente na parte em que ele aplica os 20% e 30%, ex: new Random().nextInt(10), eu entendi que ele irá gerar números aleatórios de 0 a 9 {0,1,2,3,4,5,6,7,8,9}, mais a minha dúvida é, por que de 0 a 1 é 20%, e porque de 2 a 4 é 30%, e se eu quiser saber quanto é 60%, 75%, 85% como eu vou saber quando o numero é <=, >=, gostaria de saber , e saber mais sobre a classe Random.

4 respostas

Cleusa, o Random está sendo usado para gerar um valor aleatório para o retorno do investimento.

No caso, este código:

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;
}

O que ele faz é definir que o retorno pode ser:

  • 0.5 com 20% de chance (o conjunto {0,1} representa 2 dos 10 números entre 0 e 9, ou seja 20%)
  • 0.3 com 30% de chance (o conjunto {2,3,4} representa 3 dos 10 números entre 0 e 9, ou seja 30%)
  • 0.006 com 50% de chance (o conjunto {5,6,7,8,9} representa 5 dos 10 números entre 0 e 9, ou seja 50%)

Sobre a classe Random você entendeu certinho. O que mais quer saber?

Entao se Fosse 70% ,se a partir do 5 é 50% seria entre o 6 e 7?, algo assim ??

solução!

Não, Cleusa. Mas foi um bom chute!

Seguinte, se você tem uma variável com algum dos números de 0 a 9 e quer que algo ocorra com 70% de chance, você precisa de uma condição que abranja 7 dos 10 números. Então poderia ser de 0 a 6, de 1 a 7 de 3 a 9. Poderia ser até um conjunto quebrado como 0,1,3,4,6,7,8. Os outros três números, 2,5,9, completariam os outros 30% de chance de um segundo evento acontecer. Cada número no conjunto representa 10% de dos 100% possíveis, pois são 10 números.

Se tivéssemos uma variável que pode ter os números de 0 a 99, cada número possível representaria 1%, 1 opção entre as 100 possíveis. Ai, pra alguma coisa acontecer com 25% de chance, você precisaria de um conjunto de 1/4 dos números (25). Por exemplo, 1-25 ou 75-99.

Esse assunto está um pouco mais ligado à matemática mas é importante se quiser usar aleatoriedade no seu programa!

Espero ter ajudado! Lembre-se de marcar o tópico como solucionado e bons estudos!

Nossa, agora que entendi era tão obvio! rsrsrs , muito obrigada Marco Salles.