java 随机数 总结

来源:互联网 发布:json格式化js插件 编辑:程序博客网 时间:2024/06/05 01:11

java 随机数生成有三种方式
   (1)Random类:这个是专业产生随机数Random工具类
   (2)Math.random(): 返回一个0到1之间的double值
   (3)System.currentTimeMillis():获取一个当前时间毫秒数的long型数字
  
   1. Random类的实例用于生成伪随机数,即根据随机算法生成有规则的随机数。
  
   Random random1 = new Random( 500 ); //有种子的随机数生成器,每次生成的随机数一样
   Random random2 = new Random(); //无种子随机生成器
  for( int i = 0; i < 8; i++ ) {
   try{
    Thread.sleep( 500 );
   } catch( Exception e ) {
    e.printStackTrace();
   }
   System.out.println(  random1.nextInt()  );
   System.out.println(  random2.nextInt( 5000 )  );
  }
  结果如下:
  -1040059906 -------- 1586
  523022788 -------- 1737
  1620136985 -------- 3296
  1193875645 -------- 3277
  -1940504925 -------- 3260
  659733131 -------- 4416
  -573698283 -------- 1380
  -1894865639 -------- 2346
  
  其他常用方法如:boolean nextBoolean();  float nextFloat();int nextInt();等等
  
  2.Math.random():
  for( int i = 0; i < 8; i++ ) {
   try{

    Thread.sleep( 500 );
   } catch( Exception e ) {
    e.printStackTrace();
   }
   System.out.println(  Math.random()  );
  }
  结果如下:
  0.34770139660356025
  0.5427813080908057
  0.5039247786326579
  0.3312652983935085
  0.4793875941769806
  0.4415379151827148
  0.9998203537632158
  0.9941176245024429
  
  3.System.currentTimeMillis():
  for( int i = 0; i < 8; i++ ) {
   try{

    Thread.sleep( 500 );
   } catch( Exception e ) {
    e.printStackTrace();
   }
   System.out.println(  System.currentTimeMillis()  );
  }
  结果如下:
  1287638199796
  1287638200296
  1287638200796
  1287638201296
  1287638201796
  1287638202296
  1287638202796
  1287638203296

原创粉丝点击