精华内容
下载资源
问答
  • Java产生随机数函数

    2017-02-07 11:10:13
    Math.random(),该方法的作用是产生0和1之间(包括0,但不包括1)的一个double值。
    Math.random(),该方法的作用是产生0和1之间(包括0,但不包括1)的一个double值。
    展开全文
  • public static String getRandomNum(int num) {  String[] digits = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" };  Random rnum = new Random(new Date().getTime());  for (int i = 0;...

    public static String getRandomNum(int num) {
      String[] digits = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" };
      Random rnum = new Random(new Date().getTime());

      for (int i = 0; i < digits.length; i++) {
       int index = Math.abs(rnum.nextInt()) % 10;
       String tmpDigit = digits[index];
       digits[index] = digits[i];
       digits[i] = tmpDigit;
      }

      String returnStr = digits[0];
      for (int i = 1; i < num; i++) {
       returnStr = digits[i] + returnStr;
      }
      return returnStr;
     }

    展开全文
  • JAVA产生随机数

    2020-04-29 23:22:33
    1、在JDK7之后的版本可用下面的方法产生随机数: // 通过本地线程产生随机数,可以仔细研究ThreadLocal的用法。 ThreadLocalRandom.current()....2、可以借助java.util.Random类来产生随机数。 借助java.u...

    1、在JDK7之后的版本可用下面的方法产生随机数:

    // 通过本地线程产生随机数,可以仔细研究ThreadLocal的用法。
    ThreadLocalRandom.current().nextInt(10)

    据说可以在高并发下产生随机数,没有测试过,不过代码简洁,我还是喜欢用这个方法来生成随机数。

    2、可以借助java.util.Random类来产生随机数。

           借助java.util.Random类来产生一个随机数发生器,也是最常用的一种,构造函数有两个,Random()和Random(long seed)。第一个就是当前时间为默认种子,第二个是以指定的种子值进行。产生之后借助不同的语句产生不同类型的数。

           种子就是产生随机数的第一次使用值,机智就是通过一个函数讲这个种子的值转换为随机数控件中的某一个点上,并且产生的随机数均匀散布在控件中,以后产生数都与前一个随机数有关。

    代码示例:

      Random r = new Random(1);
      for(int i=0 ; i<5 ;  i++)
      {
        int ran1 = r.nextInt(100);
        System.out.println(ran1);
      }

    在我的编译器下产生的五个数均为85,88,47,13,54,如果采用Random r = new Random(),产生的随机数就不同,这就是确定种子导致的结果。

    展开全文
  • Java随机数函数Random()详解+案例

    千次阅读 2019-10-17 09:35:48
    Java中Random()对象是生成随机数的对象。Random()有两种构造方法: Random():创建一个新的随机数生成器,这种方式采用默认的种子。 Random(long seed):使用seed为种子创建一个新的随机数生成器。 种子的作用...

    Java中Random()对象是生成随机数的对象。Random()有两种构造方法:

           Random():创建一个新的随机数生成器,这种方式采用默认的种子。

           Random(long seed):使用seed为种子创建一个新的随机数生成器。    

    种子的作用:我们在创建Random对象的时候,如果不设定种子,对象会采用默认的种子(默认当前系统时间的毫秒数为种子)。Random()对象生成的随机数是伪随机数(通过算法产生的随机数都是伪随机数),这就意味着如果我们知道了种子,或者已经产生的随机数,都可能获得接下来随机序列的信息(这样就使得随机数有了可预测性,如果种子数一样,则会生成相同的随机数,具体可以看:案例1)。只有通过真实的随机时间产生的随机数才是真随机。例如通过机器的硬件噪声来产生的随机数、通过当前环境pm10数据产生的随机数。虽然两种构造方法都是伪随机,但是无参的构造方法具有更强的随机性,能满足一般统计上的随机数要求。另外,种子数只是随机算法的起源数字,和生成的随机数没有任何关系,可以随意设置合法的种子数

    案例1:

     // 种子数都设为6
    Random numList = new Random(6);
    Random numList2 = new Random(6);
    // 随机生成10个随机数
    for(int i=0; i<10; i++) {
        //生成一个[0,10)之间的随机数
        int num =  numList.nextInt(10) ;
        int num2 =  numList2.nextInt(10) ;
        System.out.println("num1 =" + num + ", num2 = " + num2);
    }

          

    案例2:

           常用随机数的方法都是生成某个区间的随机数

    Random numList = new Random();
    // 随机生成10个随机数
    System.out.println("生成一个[50,100)之间的随机数:");
    for(int i=0; i<10; i++) {
        //生成一个[50,100)之间的随机数
        int num =  numList.nextInt(50) + 50 ;
        System.out.print(num + " ");
    }
    // 生成一个[50,100)之间的随机数:
    // 96 73 76 95 71 78 77 88 66 92
    注意:Random()生成的随机数不能保证重复的数据,如果需要生成重复的数据,则需要跟集合配置使用。

    案例三:

    /**
     * 生成一个特定格式的字符串数组
     * 字符串格式为:
     *  1,特定字符串头:YGMANG
     *  2,6个数字+字母的随机大写字符
     *  3,目前的时间戳:时间格式为yyyyMMddHHmmss
     */
    @Test
    public void arrayTest() {
        StringBuffer flag = new StringBuffer(); //定义一个边长的字符串对象
        String headNUm = "YGWNGX"; //设置字符串固定头
        flag.append(headNUm);
        String sources = "0123456789ABCDEFIJKLMNOPQRSTUVWXYZ"; //定义一个数字+字母的字符串
        Random rand = new Random();
        SimpleDateFormat myFmt = new SimpleDateFormat("yyyyMMddHHmmss");//规定生成时间戳的格式
        for (int j = 0; j < 6; j++)
        {
            flag.append(sources.charAt(rand.nextInt(sources.length())));
        }
        Date date = new Date();
        flag.append(myFmt.format(date));
        System.out.println("生成的随机字符串为:" + flag.toString());
        /**
         * 生成的结果为:
         * 生成的随机字符串为:YGWNGXOKW9DK20191017091540
         */
    }

                 

    Random9()方法摘要:

    Java.util.Random()方法摘要:

    方法

    返回值

    解释

    next(int bits)

    int

    生成下一个伪随机数。

    nextBoolean()

    boolean

    返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的boolean值。

    nextBytes(byte[] bytes)

    void

    生成随机字节并将其置于用户提供的 byte 数组中。

    nextDouble()

    double

    返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布的 double值

    nextFloat()

    float

    返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布float值。

    nextGaussian()

    double

    返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的double值,其平均值是0.0标准差是1.0。

    nextInt()

    int

    返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。

    nextInt(int n)

    int

    返回一个伪随机数,它是取自此随机数生成器序列的、在(包括和指定值(不包括)之间均匀分布的int值。

    nextLong()

    long

    返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。

    setSeed(long seed)

    void

    使用单个 long 种子设置此随机数生成器的种子

    给出几个例子:

    1.生成[0,1.0)区间的小数:double d1 = r.nextDouble();

    2.生成[0,5.0)区间的小数:double d2 = r.nextDouble() * 5;

    3.生成[1,2.5)区间的小数:double d3 = r.nextDouble() * 1.5 + 1;

    4.生成-231到231-1之间的整数:int n = r.nextInt();

    5.生成[0,10)区间的整数:

    int n2 = r.nextInt(10);//方法一

    n2 = Math.abs(r.nextInt() % 10);//方法二

    展开全文
  • java产生随机数的方法

    2020-12-16 19:48:07
    借助java.util.Random类产生一个随机数发生器,有两种构造函数 Random() 以当前时间为默认种子 Random(long seed) 以指定的种子值进行 产生之后,借助不同的语句产生不同类型的数 种子:产生随机数的第一次使用值...
  • java产生随机数

    2019-04-22 18:48:00
    产生随机数,可以使用Java api中java.lang包中的Math类.Math类以静态方法的方式提供常用的数学方法,其中Math.random()方法是一个可以产生[0.0,1.0]区间内的一个双精度浮点数的方法如:产生一个100以内的整数:int...
  • Java产生随机数

    2015-08-09 20:01:00
     每一门程序设计语言基本都具有一个随机函数,而Java当中产生随机数的方式不拘一格。而且其中的Random工具类还有着更深入的应用,但本文仅对比3种产生随机数的方式,就不深入扩展分析其内部工具类了。 1)System....
  • java随机数中是有着函数的,小伙伴们有了解过它们吗?那们就来深入的了解一下java随机数中的函数。 示例:public class RandomNumber { public static void main(String[] args) { // 使用java.lang.Math的random方法...
  • 1、java.lang.Math包下的random函数,返回带正号的double值,...2、java.util.Random类,利用构造函数,nextInt、nextFloat函数产生随机数随机数均匀分布。 3、利用System.currentTimeMillis()产生随机数种子。
  • Java 产生随机数的三种方式

    万次阅读 2017-10-09 22:18:57
    为什么说Java中的随机数都是伪随机数?什么是伪随机数? 伪随机数是看似随机实质是固定的周期性序列,也就是有规则的随机。...Java随机数产生原理Java的随机数产生是通过线性同余公式产生的,也就是说通过一个复杂的算法
  • java产生随机数例子

    2013-07-02 14:52:33
    import java.util.Random; public class RandomNumber{ ...public static void main(String[] args) ...// 使用java.lang.Math的random方法生成随机数 System.out.println("Math.random(): " + Math.random());
  • java产生随机数且猜数字游戏(源码)
  • Java中我们可以使用java.util.Random类来产生一个随机数发生器。它有两种形式的构造函数,分别是Random()和Random(long seed)。Random()使用当前时间即System.currentTimeMillis()作为发生器的种子,Random(long ...
  • 最近做了一些Tencent及几家公司的面试题,发现有一种关于产生随机数的类型的题目。看到多有大牛们做出来,而且效率很高,也有不知道怎么做的,最近根据几个产生随机数的题目整理一下,发现所有的类似题目可以用一种...
  • java产生随机数的几种方式 一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以...
  • 直接见代码吧!! public static void main... * 产生规定范围内的整数 如[40,50} * 方法:(int)(Math.random()*(最大值-最小值))+最小值 */ System.out.println((int)(Math.random()*(50-40))+40); ...
  • java产生随机数并求和

    2015-10-30 21:25:00
    设计思路: 先随机生成10个数,组成一个数组,然后用消息框显示数组内容,然后用循环计算数组元素的和,将结果也显示在消息框中。 程序流程图: 源程序代码: importjavax.swing.*;...int[]Arr...
  • java中的随机数是有一个范围的 它是一个Math类 随机范围是[0,1)之间的小数 注意: 这里的随机范围 大于等于0且小于1 它的后区间是不包括1的 那么 我们如果需要其他的随机数怎么办 ? 我们可以来看一下 计算随机...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,547
精华内容 19,418
关键字:

java产生随机数的函数

java 订阅