Функция для получения случайного двойного значения между [0,1]? [Дубликат]

Вот минимальный объем данных, необходимых для получения данных из базы данных MySQL:

Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection
   ("jdbc:mysql://localhost:3306/foo", "root", "password");

Statement stmt = conn.createStatement();
stmt.execute("SELECT * FROM `FOO.BAR`");
stmt.close();
conn.close();

Добавлять обработку исключений, конфигурацию и т. д.

100
задан Tunaki 27 September 2015 в 19:41
поделиться

5 ответов

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.
}
}
2
ответ дан Larson Carter 4 September 2018 в 08:13
поделиться

Используйте это:

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

EDIT:

new Random().nextDouble(): случайным образом генерирует число от 0 до 1.

start: начать номер, сдвинуть число «вправо»

end - start: интервал. Random дает вам от 0% до 100% от этого числа, потому что случайный дает вам число от 0 до 1.


EDIT 2: Tks @ daniel и @aaa bbb. Мой первый ответ был неправильным.

30
ответ дан Md. Abu Nafee Ibna Zahid 4 September 2018 в 08:13
поделиться
180
ответ дан mob 4 September 2018 в 08:13
поделиться

Этот вопрос задавался перед выпуском Java 7, но теперь есть еще один возможный способ использования API Java 7 (и выше):

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

nextDouble вернется псевдослучайное двойное значение между минимальным (включительно) и максимальным (исключительным). Оценки не обязательно int и могут быть double.

96
ответ дан shmosel 4 September 2018 в 08:13
поделиться

double var1 = LowerLimit + new Random (). nextDouble () * (UpperLimit - LowerLimit); System.out.println ("\n\nRandom double in range:" + var1);

0
ответ дан Tejaswini Nanaware 4 September 2018 в 08:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: