Чтобы сгенерировать случайное десятичное из [ 0-100) вы можете использовать Math.random(), как вы уже, или можете использовать объект Random
ли записка [0-100), эти биты кода возврата чисел от 0 до, но не включая, 100
Math.random():
double xPos = Math.random() * 100;
double yPos = Math.random() * 100;
Math.random() с 1 десятичного знака:
double xPos = Math.floor(Math.random() * 1000)/10;
double yPos = Math.floor(Math.random() * 1000)/10;
Случайный объект:
Random r = new Random();
double xPos = r.nextDouble() * 100;
double yPos = r.nextDouble() * 100;
Случайный объект с 1 десятичного знака:
Random r = new Random();
double xPos = r.nextInt(1000)/10.0;
double yPos = r.nextInt(1000)/10.0;
Считается лучшей практикой использовать Random
объект, даже если Math.random()
называет его собственный внутренний Random
объект.
Использование Random
вместо Math.random()
имеет преимущество упрощения параллелизма. Без нескольких объектов Random
многопоточность с большим использованием рандомизированных чисел будет замедляться до обхода
Проверить [Java Генерировать случайное число между двумя заданными значениями] (http://stackoverflow.com/questions/5271598/java-generate-random -number-between-two-given-values) – sam
В чем проблема? Почему бы просто не вставить экземпляр «Random» и использовать ['nextInt (int bound)'] (https://docs.oracle.com/javase/8/docs/api/java/util/Random.html#nextInt -int-) метод? – mkobit
http://stackoverflow.com/questions/7961788/math-random-explained – jwde