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之间生成随机整数。