repetir positivos numeros numero negativos generar como cifras asignar arreglo aleatorios aleatorio java random prng

positivos - Obtención de números aleatorios en Java



numeros aleatorios en java netbeans (2)

Posible duplicado:
Java: generando un número aleatorio en un rango

Me gustaría obtener un valor aleatorio entre 1 y 50 en Java.

¿Cómo puedo hacer eso con la ayuda de Math.random(); ?

¿Cómo puedo vincular los valores que devuelve Math.random ()?


La primera solución es usar la clase java.util.Random :

import java.util.Random; Random rand = new Random(); int n = rand.nextInt(50) + 1; //50 is the maximum and the 1 is our minimum

Otra solución es usar Math.random()

double random = Math.random() * 49 + 1; or int random = (int )(Math.random() * 50 + 1);

o

int max = 50; int min = 1;


double random = Math.random() * 49 + 1; or int random = (int )(Math.random() * 50 + 1);

1. Usando Math.random ()

Random rand = new Random(); int value = rand.nextInt(50);

Esto le dará un valor de 1 a 50 en caso de int o 1.0 (inclusive) a 50.0 (exclusivo) en caso de doble

¿Por qué?

El método random () devuelve un número aleatorio entre 0.0 y 0.9 ..., lo multiplica por 50, por lo que el límite superior se convierte en 0.0 a 49.999 ... cuando suma 1, se convierte en 1.0 a 50.999 ..., ahora cuando trunca a int, obtienes de 1 a 50. (Gracias a @rup en los comentarios). leepoint''s impresionante leepoint''s sobre ambos enfoques.

2. Usando la clase aleatoria en Java.

Random rand = new Random(); int value = rand.nextInt(50);

Esto le dará valor de 0 a 49.

De 1 a 50: rand.nextInt((max - min) + 1) + min;

Source de algunas maravillas aleatorias de Java.