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 16 Java/Android
spring boot项目application.properties文件存放及使用介绍
Jun 30 Java/Android
java解析XML详解
Jul 09 Java/Android
Java Spring 控制反转(IOC)容器详解
Oct 05 Java/Android
mybatis源码解读之executor包语句处理功能
Feb 15 Java/Android
解决persistence.xml配置文件修改存放路径的问题
Feb 24 Java/Android
Java 关于String字符串原理上的问题
Apr 07 Java/Android
Java 写一个简单的图书管理系统
Apr 26 Java/Android
Java8 CompletableFuture 异步回调
Apr 28 Java/Android
Java 多线程协作作业之信号同步
May 11 Java/Android
JavaScript正则表达式实现注册信息校验功能
May 30 Java/Android
Android Gradle 插件自定义Plugin实现注意事项
Jun 16 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/01/07 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
2019/05/14 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
2020/01/25 PHP
event.srcElement 用法笔记e.target
2009/12/18 Javascript
jQuery.Autocomplete实现自动完成功能(详解)
2010/07/13 Javascript
基于jquery的loading 加载提示效果实现代码
2011/09/01 Javascript
JavaScript 反科里化 this [译]
2012/09/20 Javascript
Jquery 动态生成表格示例代码
2013/12/24 Javascript
js 绑定键盘鼠标事件示例代码
2014/02/12 Javascript
js的Boolean对象初始值示例
2014/03/04 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
js获取地址栏参数的两种方法
2017/06/27 Javascript
详解swipe使用及竖屏页面滚动方法
2018/06/28 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
2019/05/18 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
一文看懂如何简单实现节流函数和防抖函数
2019/09/05 Javascript
JS插入排序简单理解与实现方法分析
2019/11/25 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
[32:56]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第二场 12.11
2020/12/16 DOTA
python处理文本文件并生成指定格式的文件
2014/07/31 Python
Python实现列表转换成字典数据结构的方法
2016/03/11 Python
python实现数据预处理之填充缺失值的示例
2017/12/22 Python
python的pandas工具包,保存.csv文件时不要表头的实例
2018/06/14 Python
python lxml中etree的简单应用
2019/05/10 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
Django中的FBV和CBV用法详解
2019/09/15 Python
python工具快速为音视频自动生成字幕(使用说明)
2021/01/27 Python
CSS3教程(1):什么是CSS3
2009/04/02 HTML / CSS
使用HTML和CSS实现的标签云效果(附demo)
2021/02/03 HTML / CSS
HelloFresh澳大利亚:订购你的美味食品盒、健康餐食
2018/03/28 全球购物
区域销售主管岗位职责
2014/06/15 职场文书
企业安全生产月活动总结
2014/07/05 职场文书
手术室护士节演讲稿
2014/08/27 职场文书
药店采购员岗位职责
2014/09/30 职场文书
导游词之太行山青龙峡
2020/01/14 职场文书
MySQL 原理与优化之Limit 查询优化
2022/08/14 MySQL