`
jackroomage
  • 浏览: 1223082 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

java随机函数用法 --- 类 -- Random ,不是Math里面的random()方法

 
阅读更多

public class RandomNumber{

 public static void main(String[] args) {

 // 使用java.lang.Math的random方法生成随机数
 System.out.println("Math.random(): " + Math.random());

 // 使用不带参数的构造方法构造java.util.Random对象
 System.out.println("使用不带参数的构造方法构造的Random对象:");
 Random rd1 = new Random();
 // 产生各种类型的随机数
 // 按均匀分布产生整数
 System.out.println("int: " + rd1.nextInt());
 // 按均匀分布产生长整数
 System.out.println("long: " + rd1.nextLong());
 // 按均匀分布产生大于等于0,小于1的float数[0, 1)
 System.out.println("float: " + rd1.nextFloat());
 // 按均匀分布产生[0, 1)范围的double数
 System.out.println("double: " + rd1.nextDouble());
 // 按正态分布产生随机数
 System.out.println("Gaussian: " + rd1.nextGaussian());

 // 生成一系列随机数
 System.out.print("随机整数序列:");
 for (int i = 0; i < 5; i++) {
 System.out.print(rd1.nextInt() + " ");
 }
 System.out.println();

 // 指定随机数产生的范围
 System.out.print("[0,10)范围内随机整数序列: ");
 for (int i = 0; i < 10; i++) {
 // Random的nextInt(int n)方法返回一个[0, n)范围内的随机数
 System.out.print(rd1.nextInt(10) + " ");
 }
 System.out.println();
 System.out.print("[5,23)范围内随机整数序列: ");
 for (int i = 0; i < 10; i++) {
 // 因为nextInt(int n)方法的范围是从0开始的,
 // 所以需要把区间[5,28)转换成5 + [0, 23)。
 System.out.print(5 + rd1.nextInt(23) + " ");
 }
 System.out.println();
 System.out.print("利用nextFloat()生成[0,99)范围内的随机整数序列: ");
 for (int i = 0; i < 10; i++) {
 System.out.print((int) (rd1.nextDouble()* 100) + "/");
// System.out.println("数学:"+(int)(Math.random()*100));
 }
 System.out.println();
 System.out.println();

 // 使用带参数的构造方法构造Random对象
 // 构造函数的参数是long类型,是生成随机数的种子。
 System.out.println("使用带参数的构造方法构造的Random对象:");
 Random ran2 = new Random(10);
 // 对于种子相同的Random对象,生成的随机数序列是一样的。
 System.out.println("使用种子为10的Random对象生成[0,10)内随机整数序列: ");
 for (int i = 0; i < 10; i++) {
 System.out.print(ran2.nextInt(10) + " ");
 }
 System.out.println();
 Random ran3 = new Random(10);
 System.out.println("使用另一个种子为10的Random对象生成[0,10)内随机整数序列: ");
 for (int i = 0; i < 10; i++) {
 System.out.print(ran3.nextInt(10) + " ");
 }
 System.out.println();
 // ran2和ran3生成的随机数序列是一样的,如果使用两个没带参数构造函数生成的Random对象,
 // 则不会出现这种情况,这是因为在没带参数构造函数生成的Random对象的种子缺省是当前系统时间的毫秒数。

 // 另外,直接使用Random无法避免生成重复的数字,如果需要生成不重复的随机数序列,需要借助数组和集合类 
 }
 }

分享到:
评论

相关推荐

    java中随机函数的实现

    本文将详细介绍两种常见的生成随机数的方法:利用`Math.random()`函数以及使用`java.util.Random`类。 #### 方法一:使用`Math.random()` `Math.random()`函数可以用来生成一个介于0(包括)与1(不包括)之间的双...

    java中随机函数的使用.doc

    Java 中随机函数可以分为两种:一种是使用 Math.random() 方法生成随机数,另一种是使用 java.util.Random 类生成随机数。 1. 使用 Math.random() 方法生成随机数 Math.random() 方法可以生成一个双精度浮点数,该...

    java中math类的使用

    在Java编程语言中,`java.lang.Math`类提供了一系列用于执行基本数学运算的方法和常量。这个类包含静态方法和常量,使得开发者无需实例化对象即可直接调用其功能,极大地简化了数学计算的过程。 ### 常量 #### ...

    Java数学函数(Math)

    在Java编程语言中,`Math`类提供了一系列用于执行基本数学运算的方法。这些方法包括绝对值计算、指数与对数计算、三角函数运算以及舍入等操作。对于开发人员来说,理解和掌握`Math`类中的方法是非常重要的,因为它们...

    实例讲解Java中random.nextInt()与Math.random()的基础用法

    在Java编程语言中,生成随机数是常见的任务,这通常涉及到`java.util.Random`类和`java.lang.Math`类中的`random()`方法。本文将详细解释`random.nextInt()`和`Math.random()`的基础用法。 首先,`random.nextInt(n...

    Java的数学运算处理类讲解代码(BigDecimal、Math、Random、DecimalFormat类全部操作方法API)

    这个源码资源是一个讲解数学计算处理...掌握Math类提供的各种数学计算方法,如三角函数、指数运算等。 学习Random类的使用,包括生成随机数和调整范围。 理解DecimalFormat类的功能,包括数字格式化、舍入规则设置等。

    java题目例题-----

    9. 随机数生成:Point类实例的创建中使用了Math.random()函数来生成随机的(x,y)值,这是Java中随机数生成的一个常用方法。 10. 标准输入输出:文档中的程序使用了System.in来接收用户的输入,并使用System.out来...

    Java程序设计基础:Math类.pptx

    Math类取整方法和random随机值方法 Math类 Math类 1 掌握常用数学函数; 2 会使用Math类中的方法解决数学问题。 double ceil( double x) //返回一个大于等于 x的最小整数值 Math.ceil(2.1) 结果为 3.0 Math.ceil(2.0...

    Java中的Random()函数及两种构造方法

    在实践中,java.util.Random类总是优于java.lang.Math.random(),因为java.util.Random类提供了更多的方法来生成随机数,例如nextInt(int n)、nextLong()、nextFloat()等。 Java中的Random()函数提供了两种构造方法...

    java学习资料-实例解析常用Java随机数生成

    在Java中,生成随机数主要有两种方式:使用`Math.random()`方法和`java.util.Random`类。 1. **Math.random()方法**: `Math.random()`是Java内置的静态方法,它返回一个0.0到1.0之间的双精度浮点数,不包括1.0。...

    java程序设计课程--实验报告-实验05.pdf

    在本实验报告中,我们关注的是Java编程语言中的核心概念,包括类的创建与使用、String类的方法、Random类以及Math类的常用方法。实验旨在帮助学生深入理解这些基础概念,提升他们的编程技能。 首先,实验一介绍了...

    Java获取随机数的3种方法

    方法一:使用`Math.random()`函数 这是最基础的生成随机数的方法,`Math.random()`返回的是一个0.0到1.0之间的浮点数,不包括1.0。如果你需要生成指定范围内的整数,可以使用以下公式: ```java (int)(最小值 + Math...

    Java Math类、Random类、System类及BigDecimal类用法示例

    Java Math类是Java标准库中的一个内置类,它提供了各种数学运算的方法,如绝对值、平方根、幂运算等。Math类的所有成员方法都是静态的,可以直接通过类名调用,无需创建对象。 1. Math类的主要方法: - `Math.abs...

    大学课程讲义-Java基础-Java常用类

    Random类是Java中生成随机数的类,而Math类是Java中提供数学函数的类。 * Random类的构造方法:Random() * Random类的常用方法: + public int nextInt():生成一个随机整数 + public double nextDouble():生成...

    java随机生成十六进制颜色

    ### Java随机生成十六进制颜色知识点详解 #### 一、十六进制颜色代码的基本概念 在Web开发中,颜色常以十六进制形式表示。一个完整的十六进制颜色代码由六个字符组成,其中前两个字符表示红色(Red)的强度,中间...

    Java_SE应用部分-34

    与`String`类中的“+”操作符不同,`StringBuffer`使用`append()`方法来添加内容,这不仅简化了代码,还提高了性能,尤其是在循环操作中。 例如: ```java StringBuffer sb = new StringBuffer("Hello"); sb....

    基于Java中Math类的常用函数总结

    Java中的Math类是Java标准库(java.lang.Math)的一部分,提供了许多用于执行基本数学运算的静态方法。这个类包含了各种数学函数,可以帮助开发者处理常见的数学计算。以下是对Math类中常用函数的详细解释: 1. **...

Global site tag (gtag.js) - Google Analytics