Java提供了三种使用一些内置方法和类生成随机数的方法,如下所示:
null
- JAVAutil。随机的 班
- 数学随机的 方法:可以生成双重类型的随机数。
- ThreadLocalRandom 班
- 为了使用这个类来生成随机数,我们必须首先创建这个类的一个实例,然后使用该实例调用诸如nextInt()、nextDouble()、nextLong()等方法。
- 我们可以使用这个类生成整数、浮点、双精度、长型和布尔型的随机数。
- 我们可以将参数传递给方法,以便为要生成的数字范围设置上限。例如,nextInt(6)将生成范围为0到5(包括0到5)的数字。
// A Java program to demonstrate random number generation
// using java.util.Random;
import
java.util.Random;
public
class
generateRandom{
public
static
void
main(String args[])
{
// create instance of Random class
Random rand =
new
Random();
// Generate random integers in range 0 to 999
int
rand_int1 = rand.nextInt(
1000
);
int
rand_int2 = rand.nextInt(
1000
);
// Print random integers
System.out.println(
"Random Integers: "
+rand_int1);
System.out.println(
"Random Integers: "
+rand_int2);
// Generate Random doubles
double
rand_dub1 = rand.nextDouble();
double
rand_dub2 = rand.nextDouble();
// Print random doubles
System.out.println(
"Random Doubles: "
+rand_dub1);
System.out.println(
"Random Doubles: "
+rand_dub2);
}
}
输出:
Random Integers: 547 Random Integers: 126 Random Doubles: 0.8369779739988428 Random Doubles: 0.5497554388209912
2) 数学。随机的 Math类包含用于执行各种数值操作的各种方法,如计算指数、对数等。其中一种方法是random(),该方法返回一个带正号的双精度值,大于或等于0.0,小于1.0。返回值是伪随机选择的。这种方法只能生成类型为double的随机数。下面的程序解释了如何使用这种方法:// Java program to demonstrate working of
// Math.random() to generate random numbers
import
java.util.*;
public
class
generateRandom
{
public
static
void
main(String args[])
{
// Generating random doubles
System.out.println(
"Random doubles: "
+ Math.random());
System.out.println(
"Random doubles: "
+ Math.random());
}
}
输出:
Random doubles: 0.13077348615666562 Random doubles: 0.09247016928442775
3) 爪哇。util。同时发生的ThreadLocalRandom类 java 1.7中引入了这个类来生成整数、双精度数、布尔数等类型的随机数。下面的程序解释了如何使用这个类来生成随机数:// Java program to demonstrate working of ThreadLocalRandom
// to generate random numbers.
import
java.util.concurrent.ThreadLocalRandom;
public
class
generateRandom
{
public
static
void
main(String args[])
{
// Generate random integers in range 0 to 999
int
rand_int1 = ThreadLocalRandom.current().nextInt();
int
rand_int2 = ThreadLocalRandom.current().nextInt();
// Print random integers
System.out.println(
"Random Integers: "
+ rand_int1);
System.out.println(
"Random Integers: "
+ rand_int2);
// Generate Random doubles
double
rand_dub1 = ThreadLocalRandom.current().nextDouble();
double
rand_dub2 = ThreadLocalRandom.current().nextDouble();
// Print random doubles
System.out.println(
"Random Doubles: "
+ rand_dub1);
System.out.println(
"Random Doubles: "
+ rand_dub2);
// Generate random booleans
boolean
rand_bool1 = ThreadLocalRandom.current().nextBoolean();
boolean
rand_bool2 = ThreadLocalRandom.current().nextBoolean();
// Print random Booleans
System.out.println(
"Random Booleans: "
+ rand_bool1);
System.out.println(
"Random Booleans: "
+ rand_bool2);
}
}
输出:
Random Integers: 536953314 Random Integers: 25905330 Random Doubles: 0.7504989954390163 Random Doubles: 0.7658597196204409 Random Booleans: false Random Booleans: true
参考资料: https://docs.oracle.com
本文由 严酷的阿加瓦尔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END