文档章节

生成不重复的随机数

开源中国首席大督查
 开源中国首席大督查
发布于 2017/08/31 09:09
字数 200
阅读 9
收藏 0
import java.util.Arrays;

/**
 * [@author](https://my.oschina.net/bluell) 
 */
public class RandomUtil {
    public static int[] generate(int min, int max, int size) {
        if (min > max || max - min + 1 < size) {
            return new int[0];
        }
        int[] result = new int[size];
        int[] resource = new int[max];

        for (int i = min; i <= max; i++) {
            Arrays.fill(resource, i - 1, i, i);
        }

        for (int i = 0; i < result.length; i++) {
            int random = (int) (Math.random() * max);
            result[i] = resource[random];
            resource[random] = resource[max - 1];
            max--;
        }
        return result;
    }

    public static void main(String[] args) {
        //1-100,生成10个随机数
        Arrays.stream(generate(1, 100, 10)).forEach(System.out::println);
    }
}

© 著作权归作者所有

共有 人打赏支持
下一篇: GitLab搭建
开源中国首席大督查

开源中国首席大督查

粉丝 3
博文 7
码字总数 1924
作品 0
海淀
程序员
私信 提问
生成指定范围和个数的不重复的随机整数

生成指定范围内的随机数,有相应的随机函数(如可生成的随机整数),或者在基本的随机函数上稍加修改也可生成;生成 n 个随机数,只需调用 n 次随机函数即可;生成 n 个不重复的随机数,就会...

业余码农
01/14
0
0
Random快速产生相同随机数的原因及解决方案

老生常谈,还是那三句话: 学历代表你的过去,能力代表你的现在,学习代表你的将来 十年河东,十年河西,莫欺少年穷 学无止境,精益求精 问题描述:很多时候我们可能需要在极短的时间内生成大...

天才小龙
2018/01/05
0
0
ASP中Randomize随机函数的使用

Randomize 初始化随机数生成器。 Randomize [number] number 参数可以是任何有效的数值表达式。 说明 Randomize 使用 number 参数初始化 Rnd 函数的随机数生成器,赋给它新的种子值。如果省略...

cnblogs
2011/03/26
0
0
[随机数详解]生成一个随机数,生成指定范围的随机数及随机数组去重

写在前面: 很早之前在简书写过几篇关于随机数的文章之前写的很乱,现在重新整理一下这些知识点。本文包含了如下这些知识点:js生成随机数,生成指定范围的随机数,获得不重复随机数组。 js...

OB丶Koro1
2017/05/09
0
0
(摘)C#生成随机数的三种方法

随机数的定义为:产生的所有数字毫无关系. 在实际应用中很多地方会用到随机数,比如需要生成唯一的订单号. 在C#中获取随机数有三种方法: 一.Random 类 Random类默认的无参构造函数可以根据当前...

呼哈嘿
2018/10/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周四乱弹 —— 我想过年请假提前回家两天

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @clouddyy :#每日一歌# 分享王力宏的单曲《爱错》 《爱错》- 王力宏 手机党少年们想听歌,请使劲儿戳(这里) @Caremorele :这几天起床有点...

小小编辑
31分钟前
8
1
Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
2
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部