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