Obter números aleatórios em Java [duplicado]
Eu gostaria de obter um valor aleatório entre 1 a 50 em Java. Como posso fazer isso com a ajuda de ... Como amarro os valores que a matemática.o random() devolve?possível duplicado:
Java: a gerar um número aleatório num intervalo
303
2 answers
import java.util.Random;
Random rand = new Random();
int n = rand.nextInt(50) + 1;
//50 is the maximum and the 1 is our minimum
504
Author: n_yanev, 2017-02-19 19:59:27
int max = 50;
int min = 1;
1. Usando Matemática.random ()
double random = Math.random() * 49 + 1;
or
int random = (int )(Math.random() * 50 + 1);
Isto dar-lhe-á valor de 1 a 50 no caso de int ou 1.0 (inclusive) a 50.0 (exclusivo) em caso de duplo
Porquê?O método Random () devolve um método aleatório número entre 0.0 e 0.9..., você multiplica por 50, por isso limite superior torna-se de 0.0 a 49.999... quando você adicionar 1, torna-se 1.0 a 50.999... agora, quando você truncado para int, você começa de 1 a 50. (graças a @rup em comentários). A escrita impressionante de leepoint em ambas as abordagens.
2. Usando Classe aleatória em Java.
Random rand = new Random();
int value = rand.nextInt(50);
Isto dará valor de 0 a 49.
Para 1 A 50: rand.nextInt((max - min) + 1) + min;
Fonte de alguma espectacularidade aleatória Java.
539
Author: zengr, 2018-02-03 22:33:09