Java Math随机数示例
时间:2020-02-23 14:35:26 来源:igfitidea点击:
在本教程中,我们将看到Java Math随机示例。
数学的随机方法为我们提供0.0到1.0的正签名双值。
语法
public static double random()
此方法可用于多线程环境,因为它是线程安全的。
如果我们看到随机数学的源代码,我们将看到它使用java.util.random类的nextdouble()方法生成0.0到1.0之间的随机数。
Math's Aquary()方法的源代码
private static Random randomNumberGenerator;
private static synchronized void initRNG() {
if (randomNumberGenerator == null)
randomNumberGenerator = new Random();
}
public static double random() {
if (randomNumberGenerator == null) initRNG();
return randomNumberGenerator.nextDouble();
}
因此,我们可以从上面代码中看到,随机方法使用java.util.random类来生成随机数。
例子
假设我们希望从1到10生成随机整数。
我们可以使用Math的随机方法如下:
/* * returns random integer between minimum and maximum range */
public static int getRandomInteger(int minimum, int maximum){
return ((int) (Math.random()*(maximum - minimum))) + minimum;
}
通过最大值为10,最小值为1.我们将在1到10之间获取随机整数。
以下是完整示例:
package org.igi.theitroad;
public class MathRandomMain {
public static void main(String[] args) {
System.out.println("Math's random method output");
for (int i = 1; i < 10; i++) {
System.out.print(" "+Math.random());
}
System.out.println();
System.out.println("Generating random number from 1 to 10");
for (int i = 1; i < 10; i++) {
System.out.print(" "+getRandomInteger(1,10));
}
}
/* * returns random integer between minimum and maximum range */
public static int getRandomInteger(int minimum, int maximum){
return ((int) (Math.random()*(maximum - minimum))) + minimum;
}
}
运行上面的程序时,我们将得到以下输出:
Math's random method output 0.6094762145403727 0.984629643759588 0.1391747855327513 0.03367790074630195 0.7327997405792047 0.29391413463517546 0.2757890922600933 0.19606812863092626 0.8941801486372356 Generating random number from 1 to 10 6 8 0 5 8 5 5 0 3
我们可以使用java.util.random类的nextint方法,也可以从0到10获取随机整数值。
package org.igi.theitroad;
import java.util.Random;
public class MathRandomMain {
public static void main(String[] args) {
System.out.println("Generating random number using Random's nextInt");
Random random=new Random();
for (int i = 1; i < 10; i++) {
System.out.print(" "+random.nextInt(10));
}
}
}
运行上面的程序时,我们将得到以下输出:
Generating random number using Random's nextInt 9 7 4 3 7 1 7 2 5
Aquary.Nextint(10)方法将在0到10之间生成随机整数。

