产生随机数的方式:
1.Math.random()产生随机数,产生的是0-1之间的double,如果要得到其他范围之类的,就乘上一个系数
2.System类中有一个currentTimeMillis()的方法,这个方法可以返回一个随机的毫秒数,返回的类型为long.因为是从1970年1月1号 至此的任一毫秒数,所以可以通过取模来限制到一定的范围内。
import java.util.*;
public class test {
public static void main(String []args){
long r = System.currentTimeMillis();
System.out.println(r);
}
}
3.在java.util包里面提供了一个Random类,可以通过Random的对象来产生随机数。
java.util.Random类有两种不同的构建方式:带种子和不带种子
- 不带种子:
没有提供种子数,Random实例的种子数将是当前时间的毫秒数
返回随机的数字,每次运行结果是不一样的
import java.util.*;
public class test {
public static void main(String []args){
Random r = new Random();
for(int i = 0;i<10;++i){
System.out.println(r.nextInt());
}
}
}
- 带种子:
如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。
无论程序运行多少次,返回的结果都是一样的
import java.util.*;
public class test {
public static void main(String[] args) {
java.util.Random r=new java.util.Random(10);
for(int i=0;i<10;i++){
System.out.println(r.nextInt());
}
}
}
random对象里面有nextInt(),nextInt(int n)方法:
int nextInt():返回下一个随机数
int nextInt(int n): 返回下一个在0到n范围之内的随机数