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

Dúvidas função Random

Olá Pessoal

desculpem minha falta de experiência mas como que eu poderia ler a sintaxe abaixo?

private Random random;
        public Moderado()
        {
            this.random = new Random();
        }

        public double Calcula(Conta conta)
        {
            if (random.Next(2) == 0)
                return conta.Saldo * 0.025;
            else
                return conta.Saldo * 0.007;
        }

Minha dúvida é no random.Next(2). O que vem a ser esse random.Next(2)? Random não seria uma função que gera números aleatórios?

Na classe Arrojado eu também tive dúvidas quanto ao random mas se eu entender o primeiro sab erei o restante.

Obrigado.

2 respostas
solução!

Oi João, tudo bom?

Tendo algo parecido com, por exemplo:

Random random = new Random();
random.Next(10);

Estamos criando uma instancia da classe que representa numeros aleatorios e logo em seguida pedindo um numero aleatorio menor que 10 (e maior que zero).

No caso do código abaixo, queremos um numero aleatorio menor que 2:

random.Next(2);

Aqui:

if (random.Next(2) == 0)
                return conta.Saldo * 0.025;
            else
                return conta.Saldo * 0.007;

Estamos apenas verificando se o retorno é 0 para retornar 2.5% do saldo se não retornamos 0.7%.

Levando em conta que se nosso valor máximo é 2, temos 0,1 e 2 nas possibilidades de retorno. Isso significa que estamos colocando uma chance em 3 (33%) de ser retornado 2.5% e 2 chances em 3(66%) de ser retornado 7%.

Qualquer duvida é só falar!

Abraço e bons estudos =)

Valeu André... clareou ... agora sim :)

Obrigado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software