关键技术剖析:(生成随机数有两个方法:)
²
²
它可以产生int、long、float、double以及Goussian等类型的随机数。
public
public
//
System.out.println("Math.random():
//
System.out.println("使用不带参数的构造方法构造的Random对象:");
Random
//
//
System.out.println("int:
//
System.out.println("long:
//
System.out.println("float:
//
System.out.println("double:
//
System.out.println("Gaussian:
//
System.out.print("随机整数序列:");
for
System.out.print(rd1.nextInt()
}
System.out.println();
//
System.out.print("[0,10)范围内随机整数序列:
for
//
System.out.print(rd1.nextInt(10)
}
System.out.println();
System.out.print("[5,23)范围内随机整数序列:
for
//
//
System.out.print(5
}
System.out.println();
System.out.print("利用nextFloat()生成[0,99)范围内的随机整数序列:
for
System.out.print((int)
}
System.out.println();
System.out.println();
//
//
System.out.println("使用带参数的构造方法构造的Random对象:");
Random
//
System.out.println("使用种子为10的Random对象生成[0,10)内随机整数序列:
for
System.out.print(ran2.nextInt(10)
}
System.out.println();
Random
System.out.println("使用另一个种子为10的Random对象生成[0,10)内随机整数序列:
for
System.out.print(ran3.nextInt(10)
}
System.out.println();
}
}
运行结果:
Math.random(): 0.7990546200078196
使用不带参数的构造方法构造的Random对象:
int: -1909565938
long: 5254941554125958812
float: 0.79102784
double: 0.7998281314787222
Gaussian: -0.061446637342393966
随机整数序列:1874949902
[0,10)范围内随机整数序列: 5
[5,23)范围内随机整数序列: 19
利用nextFloat()生成[0,99)范围内的随机整数序列: 38
使用带参数的构造方法构造的Random对象:
使用种子为10的Random对象生成[0,10)内随机整数序列:
3
使用另一个种子为10的Random对象生成[0,10)内随机整数序列:
3
源码分析:
²
²
²
²
²