Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Java中的随机数应用

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

在Java中我们可以使用java.util.Random类来产生一个随机数发生器。它有两种形式的构造函数,分别是Random()和Random(long seed)。Random()使用当前时间即System.currentTimeMillis()作为发生器的种子,Random(long seed)使用指定的seed作为发生器的种子。
随机数发生器即Random对象产生以后,可以通过对象调用不同的函数:nextInt()、nextLong()、nextFloat()、nextDouble()等来获得不同类型的随机数。
如果2个Random对象使用相同的种子(比如都是100),并且以相同的顺序调用相同的函数,那么它们的返回值完全相同。如下面代码中两个Random对象的输出完全相同:

import java.util.*;
class TestRandom {
  public static void main(String[] args) {
    Random random1 = new Random(100);
    System.out.println(random1.nextInt());
    System.out.println(random1.nextInt());
    System.out.println(random1.nextFloat());
    System.out.println(random1.nextFloat());
    System.out.println(random1.nextBoolean());
    System.out.println(random1.nextBoolean());
    Random random2 = new Random(100);
    System.out.println(random2.nextInt());
    System.out.println(random2.nextInt());
    System.out.println(random2.nextFloat());
    System.out.println(random2.nextFloat());
    System.out.println(random2.nextBoolean());
    System.out.println(random2.nextBoolean());
  }
}

如果希望将返回的随机数控制在某个范围内(比如0~99),则可以使用模数运算符%。说明:将模数运算符%作用于随机数产生器所产生的随机数身上,目的是为了让随机数的最大值局限于我们所制定的操作数数值减1范围内。如下面代码就将输入控制在0~99的范围内,注意:如果不加Math.abs(),输出范围将是-99~99。

import java.util.*;
class TestRandom {
  public static void main(String[] args) {
    Random random = new Random();
    for(int i = 0; i < 100; i++) {
      System.out.println(Math.abs(random.nextInt()) % 100);
    }
  }
}




相关文章

相关软件