java随机数函数_java中随机函数的使⽤
public class RandomNumber{
public static void main(String[] args) {
// 使⽤java.lang.Math的random⽅法⽣成随机数 System.out.println("Math.random(): " + Math.random());
// 使⽤不带参数的构造⽅法构造java.util.Random对象 System.out.println("使⽤不带参数的构造⽅法构造的Random对象:"); Random rd1 = new Random();
// 产⽣各种类型的随机数
// 按均匀分布产⽣整数
System.out.println("int: " + Int());
// 按均匀分布产⽣长整数
java生成随机数的方法System.out.println("long: " + Long());
// 按均匀分布产⽣⼤于等于0,⼩于1的float数[0, 1)
System.out.println("float: " + Float());
// 按均匀分布产⽣[0, 1)范围的double数
System.out.println("double: " + Double());
// 按正态分布产⽣随机数
System.out.println("Gaussian: " + Gaussian());
// ⽣成⼀系列随机数
System.out.print("随机整数序列:");
for (int i = 0; i < 5; i++) {
System.out.Int() + " ");
}
System.out.println();
/
/ 指定随机数产⽣的范围
System.out.print("[0,10)范围内随机整数序列: ");
for (int i = 0; i < 10; i++) {
// Random的nextInt(int n)⽅法返回⼀个[0, n)范围内的随机数
System.out.Int(10) + " ");
}
System.out.println();
System.out.print("[5,23)范围内随机整数序列: ");
for (int i = 0; i < 10; i++) {
// 因为nextInt(int n)⽅法的范围是从0开始的,
// 所以需要把区间[5,28)转换成5 + [0, 23)。
System.out.print(5 + Int(23) + " ");
}
System.out.println();
System.out.print("利⽤nextFloat()⽣成[0,99)范围内的随机整数序列: ");
for (int i = 0; i < 10; i++) {
System.out.print((int) (Double()* 100) + "/");
// System.out.println("数学:"+(int)(Math.random()*100));
}
System.out.println();
System.out.println();
// 使⽤带参数的构造⽅法构造Random对象 // 构造函数的参数是long类型,是⽣成随机数的种⼦。
System.out.println("使⽤带参数的构造⽅法构造的Random对象:");
Random ran2 = new Random(10);
// 对于种⼦相同的Random对象,⽣成的随机数序列是⼀样的。
System.out.println("使⽤种⼦为10的Random对象⽣成[0,10)内随机整数序列: ");
for (int i = 0; i < 10; i++) {
System.out.Int(10) + " ");
}
System.out.println();
Random ran3 = new Random(10);
System.out.println("使⽤另⼀个种⼦为10的Random对象⽣成[0,10)内随机整数序列: ");
for (int i = 0; i < 10; i++) {
System.out.Int(10) + " ");
}
System.out.println();
// ran2和ran3⽣成的随机数序列是⼀样的,如果使⽤两个没带参数构造函数⽣成的Random对象,
// 则不会出现这种情况,这是因为在没带参数构造函数⽣成的Random对象的种⼦缺省是当前系统时间的毫秒数。// 另外,直接使⽤Random⽆法避免⽣成重复的数字,如果需要⽣成不重复的随机数序列,需要借助数组和集合类}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论