服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java中的随机数Random

Java中的随机数Random

2022-09-29 15:52言叶. Java教程

这篇文章主要介绍了Java中的随机数Random,关于随机数的介绍不设置随机数种子,你每次随机抽样得到的数据都是不一样的。设置了随机数种子,能够确保每次抽样的结果一样,下面来了解具体的详细内容介绍吧

一个用于生成随机数的类

具体用法:

?
1
2
3
4
5
6
7
8
9
10
  //创建随机数对象
        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

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

第一种:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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));

第一种方法的改进:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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自带的方法 ,但是这个方法的除最后一个元素以外的元素都是排好序的

这种随机有点不严谨

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_43856453/article/details/107983926

延伸 · 阅读

精彩推荐
  • Java教程基于Session的国际化实现方法

    基于Session的国际化实现方法

    下面小编就为大家带来一篇基于Session的国际化实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    jingxian2202020-06-09
  • Java教程java提供的4种函数式接口

    java提供的4种函数式接口

    这篇文章主要介绍了java提供的4种函数式接口,函数接口是只有一个抽象方法的接口,用作 Lambda 表达式的类型并有且只有一个抽象方法的接口,下文详细内...

    傲娇的喵酱11082022-08-15
  • Java教程详解Java正则表达式语法

    详解Java正则表达式语法

    这篇文章主要介绍了Java正则表达式语法,包括常用正则表达式、匹配验证-验证Email是否正确以及字符串中查询字符或者字符串,感兴趣的小伙伴们可以参考...

    lijiao3432020-03-11
  • Java教程详解Java反射实现Aop代理

    详解Java反射实现Aop代理

    本篇文章主要介绍了Java 反射实现 Aop 代理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    小小俊子2092020-09-02
  • Java教程spring mvc @PathVariable绑定URI模板变量值方式

    spring mvc @PathVariable绑定URI模板变量值方式

    这篇文章主要介绍了spring mvc @PathVariable绑定URI模板变量值方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    破光之流风7312022-03-08
  • Java教程详解Java数据结构和算法(有序数组和二分查找)

    详解Java数据结构和算法(有序数组和二分查找)

    本篇文章主要介绍了详解Java数据结构和算法(有序数组和二分查找),具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    临窗听雨9592021-01-09
  • Java教程详解非spring框架下使用querydsl的方法

    详解非spring框架下使用querydsl的方法

    Querydsl是一个采用API代替拼凑字符串来构造查询语句,可跟 Hibernate 和 JPA 等框架结合使用。本文介绍的是非spring环境下querydsl JPA整合使用,感兴趣的小伙伴...

    penngo10852021-06-30
  • Java教程Java实现指定目录下的文件查找详解

    Java实现指定目录下的文件查找详解

    这篇文章主要介绍了利用Java实现指定目录下的文件查找的方法,能做到给出文件名,查找目录及其子目录中是否存在或者给出后缀名,查找目录及其子目录...

    失散多年的哥哥11872022-09-26