图文验证码—数字验证技术

验证码—数字验证技术

在Java中,提供了一种可以生成随机数据的类,那就是java.util.Random类。在使用该类时,需要通过实例化一个Random对象创建一个随机数据生成器,其语法格式如下:

Random r=new Rnadom();

其中,r是指定Random对象。

以这种方式实例化对象时,Java编译器以系统当前时间作为随机数生成器的种子,因为每时每刻的时间不可能相同,所以产生的随机数也将不同,但是如果运行速度太快,也会产生两次运行结果相同的随机数。这时,可以在实例化Random对象时,设置随机数生成器的种子,其语法格式如下:

Rnadom r=new Random(seedValue);

其中,r是指定Random对象,seedValue是指随机数生成器的种子。

例如,生成以当前时间加1作为随机数生成器的种子实例化Random对象的代码如下:

Random r =new Random(new java.util.Date().getTime()+1);

在Random类中提供了获取各种数据类型随机数的方法,下面列举几个常用的方法。

public int nextInt()方法:返回一个随机整数。

public int nextInt(int n)方法:返回一个大于等于0小于n的随机整数。

public long nextLong()方法:返回一个随机长整型值。

public boolean nextBoolean()方法:返回一个随机布尔型值。

public float nextFloat()方法:返回一个随机浮点型值。

public double nextDouble()方法:返回一个随机双精度型值。

public double nextGaussian()方法:返回一个概率密度为高斯分布的双精度型值。

例如,生成以当前时间加1作为随机数生成器的种子,生成随机整数的代码如下:

Random r =new Random(new java.util.Date().getTime()+1);

System.out.println(r.nextInt());

运行上面的代码将生成如图1所示的随机数。

        773467653

posted @ 2016-06-02 08:30  柯南&  阅读(960)  评论(0编辑  收藏  举报