variable numeros number nextint metodo libreria generar and aleatorios java random

java - numeros - Genera un doble aleatorio en un rango



random java 8 (5)

Esta pregunta se hizo antes del lanzamiento de Java 7, pero ahora, hay otra forma posible de usar Java 7 (y superior) API:

double random = ThreadLocalRandom.current().nextDouble(min, max);

nextDouble devolverá un valor doble pseudoaleatorio entre el mínimo (incluido) y el máximo (exclusivo). Los límites no son necesariamente int , y pueden ser double .

Tengo dos dobles como la siguiente

double min = 100; double max = 101;

y con un generador aleatorio, necesito crear un valor doble entre el rango de mínimo y máximo.

Random r = new Random(); r.nextDouble();

pero aquí no hay nada donde podamos especificar el rango.


Para generar un valor aleatorio entre rangeMin y rangeMax :

Random r = new Random(); double randomValue = rangeMin + (rangeMax - rangeMin) * r.nextDouble();


Utilizar esta:

double start = 400; double end = 402; double random = new Random().nextDouble(); double result = start + (random * (end - start)); System.out.println(result);

EDITAR:

new Random().nextDouble() : genera al azar un número entre 0 y 1.

start : número de inicio, para desplazar el número "hacia la derecha"

end - start : intervalo. Aleatorio te da del 0% al 100% de este número, porque al azar te da un número de 0 a 1.

EDIT 2: Tks @daniel y @aaa bbb. Mi primera respuesta fue incorrecta.


double var1 = LowerLimit + new Random (). nextDouble () * (UpperLimit - LowerLimit); System.out.println ("/ n / nRandom doble en el rango es:" + var1);


import java.util.Random; public class MyClass { public static void main(String args[]) { Double min = 0.0; // Set To Your Desired Min Value Double max = 10.0; // Set To Your Desired Max Value double x = (Math.random()*((max-min)+1))+min; // This Will Create A Random Number Inbetween Your Min And Max. double xrounded = Math.round(x * 100.0) / 100.0; // Creates Answer To The Nearest 100th, You Can Modify This To Change How It Rounds. System.out.println(xrounded); // This Will Now Print Out The Rounded, Random Number. } }