Posso usar o nextInt(100) para gerar um número aleatório entre 0 e 99. Mas como gerar um número aleatório inteiro entre -99 e 99?
Como criar um número aleatório de -99 a 99?
C
2 Respostas
5 likes
Usando java.util.Random, basta fazer:
random.nextInt(199) - 99;
Como nextInt(199) retorna um número entre zero e 198, ao subtrair 99 é garantido que o resultado está entre -99 e 99.
Como regra geral, para obter um número aleatório entre determinada faixa de valores, basta fazer:
random.nextInt(max + 1 - min) + min;
Lembrando que com esta fórmula, tanto min quanto max são inclusos.
Outra alternativa é usar java.util.concurrent.ThreadLocalRandom (disponível a partir do Java 7), que possui o método nextInt, com os valores mínimo e máximo:
ThreadLocalRandom.current().nextInt(-99, 100);
Lembrando que neste caso o valor máximo não é incluso, por isso tem que passar 100 para que o maior valor possível seja 99.
A pergunta não foi minha, mas obrigado amigão =)
Criado 27 de janeiro de 2021
Ultima resposta 28 de jan. de 2021
Respostas 2
Participantes 3
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo