Java中的随机数Random


Posted in Java/Android onMarch 17, 2022

一个用于生成随机数的类

具体用法:

  //创建随机数对象
        Random random = new Random();

        //随机产生一个int类型取值范围内的数字。
        int num1 = random.nextInt();
        System.out.println(num1);

        //产生一个[0-100]之间的随机数
        int num2 = random.nextInt(101);
        System.out.println(num2);//不包括101

写一个不含重复数字的随机数组

第一种:

int[] num = new int[5];
        boolean flag = true;
        Random random = new Random();
        for (int i = 0; i < num.length; i++) {
            int a = random.nextInt(5);
            for (int j = i - 1; j >= 0; j--) {//当i == 0 的时候这一步不执行
                if (a == num[j]) {
                    flag = false;
                }
            }
            if (flag) {
                num[i] = a;
            } else {
                i--;
                flag = true;
            }
        }
                System.out.println(Arrays.toString(num));

第一种方法的改进:

public static void main(String[] args) {
        int[] num = new int[5];
        Random random = new Random();

        int index = 0;
        while (index < num.length) {
            int a = random.nextInt(5);
            if (contains(num, index, a)) { //把判断有没有变成了一个方法
                num[index++] = a;
            }
        }
        System.out.println(Arrays.toString(num));
    }

    public static boolean contains(int[] a, int index, int temp) {
        for (int i = index - 1; i >= 0; i--) {
            if (temp == a[i]) {
                return false;
            }
        }
        return true;
    }

第二种:

不推荐这种方法,虽然使用了Arrays自带的方法 ,但是这个方法的除最后一个元素以外的元素都是排好序的

这种随机有点不严谨

public static void main(String[] args) {
        int[] a = new int[5];
        Random random = new Random();
        int index = -1;
        while(index < a.length -1){
            int b = random.nextInt(5);
            if(contains(a,b,index)){
                a[++index] = b;
            }
        }
        System.out.println(Arrays.toString(a));
    }
    public static boolean contains(int[] a , int b , int index){
        if (index < 0){
            return true;
        }
            Arrays.sort(a,0,index + 1);//下标为[0,index+1)的数组排序 不包含index+1
        return Arrays.binarySearch(a,0,index + 1,b) < 0;//二分法查找下标为[0,index+1)范围内是否包含b  
    }

到此这篇关于Java中的随机数Random的文章就介绍到这了,更多相关随机数Random内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Java/Android 相关文章推荐
分享一些Java的常用工具
Jun 11 Java/Android
Springboot如何使用logback实现多环境配置?
Jun 16 Java/Android
浅谈Python魔法方法
Jun 28 Java/Android
利用Sharding-Jdbc进行分库分表的操作代码
Jan 22 Java/Android
Java实现学生管理系统(IO版)
Feb 24 Java/Android
Java中的随机数Random
Mar 17 Java/Android
Spring this调用当前类方法无法拦截的示例代码
Mar 20 Java/Android
Java实现带图形界面的聊天程序
Jun 10 Java/Android
springboot为异步任务规划自定义线程池的实现
Jun 14 Java/Android
Java界面编程实现界面跳转
Jun 16 Java/Android
springboot创建的web项目整合Quartz框架的项目实践
Jun 21 Java/Android
springboot+rabbitmq实现智能家居实例详解
Jul 23 Java/Android
SpringBoot中HttpSessionListener的简单使用方式
Mar 17 #Java/Android
SpringBoot+Redis实现布隆过滤器的示例代码
Mar 17 #Java/Android
Java9新特性对HTTP2协议支持与非阻塞HTTP API
Java练习之潜艇小游戏的实现
Mar 16 #Java/Android
你知道Java Spring的两种事务吗
Java并发编程之原子性-Atomic的使用
Java9新特性之Module模块化编程示例演绎
Mar 16 #Java/Android
You might like
php 动态添加记录
2009/03/10 PHP
php与XML、XSLT、Mysql的结合运用实现代码
2009/11/19 PHP
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
一个经典的PHP验证码类分享
2014/11/18 PHP
thinkphp的静态缓存用法分析
2014/11/29 PHP
wampserver改变默认网站目录的办法
2015/08/05 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
控制打印时页眉角的代码
2007/02/08 Javascript
jquery 插件 任意位置浮动固定层
2008/12/25 Javascript
用jquery实现学校的校历(asp.net+jquery ui 1.72)
2010/01/01 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
2013/07/16 Javascript
jQuery插件 selectToSelect使用方法
2013/10/02 Javascript
jquery parent和parents的区别分析
2013/10/02 Javascript
js实现图片在未加载完成前显示加载中字样
2014/09/03 Javascript
使用js获取图片原始尺寸
2014/12/03 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
js阻止浏览器默认行为触发的通用方法(推荐)
2016/05/15 Javascript
Canvas + JavaScript 制作图片粒子效果
2017/02/08 Javascript
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
2019/04/17 Javascript
JS 自执行函数原理及用法
2019/08/05 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
JS错误处理与调试操作实例分析
2020/04/13 Javascript
python多线程之事件Event的使用详解
2018/04/27 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
如何利用Python 进行边缘检测
2020/10/14 Python
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
小学英语教学反思案例
2014/02/04 职场文书
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
2015年党员自评材料
2014/12/17 职场文书
给女朋友道歉的话大全
2015/01/20 职场文书
晚会开幕词
2015/01/28 职场文书
高考学习决心书
2015/02/04 职场文书
英雄儿女观后感
2015/06/09 职场文书
警示教育观后感
2015/06/17 职场文书
2016年圣诞节寄语(一句话)
2015/12/07 职场文书
javascript数组includes、reduce的基本使用
2021/07/02 Javascript