Java生成指定范围内的一个随机整数2种方式

 更新时间:2023年04月24日 11:05:10   作者:码上癫峰  
本文主要介绍了Java生成指定范围内的一个随机整数2种方式,主要使用Math.random()和Random.nextInt()这两种,具有一定的参考价值,感兴趣的可以了解一下

 1、使用 Math.random()可以生成一个double类型的 [ 0.0,1.0)的随机数(实际上的取值是 【0.0,0.9999999】)

假设我们要生成一个【20,80】的随机数,20可以取到,80也可以取到。
生成【min,max】范围内的随机整数
公式:
(int)( min + Math.random() * ( max - min + 1))

测试案例:生成一个【20,80】的随机整数

	public static void main(String[] args) {
        for (int i = 1; i <= 80; i++) {
            int number = (int) (20 + Math.random() * (80 - 20 + 1));
            System.out.println(number);
        }
    }

可以多打印几次测试结果。

2、创建Random类对象,调用nextInt()方法生成随机数

需求:生成 0-10的随机数,包含0和10

Random random = new Random();
int num = random.nextInt(10); //这样写的话,生成[ 0,9]的随机整数数。

如果我们要包含0和10,应该这样写

int num = random.nextInt(10+1);

即是说括号里面的那个最大范围数实际上是取不到的,所以我们要在括号里面+1。
nextInt()生成随机整数规律公式:

需求:生成【min,max】范围内的随机整数,包含min和max

Random random = new Random();
int num = min + random.nextInt( max - min + 1);

参照需求生成【0,10】的随机整数套用公式:

//生成【0,10】的随机整数
	Random random = new Random();
	int num = 0 + random.nextInt( 10 - 0 + 1);
//  int num = random.nextInt(11);

测试案例代码:

  public static void main(String[] args){
        System.out.println("==========Random对象调用方法产生随机数===========");
        int[] arr2 = new int[5];
        Random random = new Random();
        //产生【1-10】的随机数
        for (int i = 0; i < arr2.length; i++) {
            arr2[i] = random.nextInt(10 + 1);
            System.out.print(arr2[i] + "  ");
        }
  }

随机打印测试的数据(结果有随机性,可以多运行几次观察结果)

猜数字大小的游戏

系统随机生成【1,100】一个随机数,用户从控制台输入一个数,两者比较大小,若不相等,就提示用户,他输入的数字比系统生成的随机数大还是小。

import java.util.Scanner;

public class Demo18 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int randomNumber = (int) (1 + Math.random() * (100 - 1 + 1));
        int userNumber;
        while (true) {
            System.out.println("请输入您猜测的数字[1,100]:");
            userNumber = sc.nextInt();
            if (userNumber == randomNumber) {
                System.out.println("恭喜您猜对了");
                System.out.println("系统生成的随机数:" + randomNumber);
                break;
            } else if (userNumber > randomNumber) {
                System.out.println("您猜的数字偏大");
            } else {
                System.out.println("您猜的数字偏小");
            }
        }
        System.out.println("游戏结束!");
    }
}

到此这篇关于Java生成指定范围内的一个随机整数2种方式的文章就介绍到这了,更多相关Java生成指定随机整数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot整合solr的方法详解

    springboot整合solr的方法详解

    这篇文章主要介绍了springboot整合solr的方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • springboot+thymeleaf找不到视图的解决方案

    springboot+thymeleaf找不到视图的解决方案

    这篇文章主要介绍了springboot+thymeleaf找不到视图的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Java处理InterruptedException异常的理论与实践

    Java处理InterruptedException异常的理论与实践

    在使用Java的过程中,有个情景或许很多人见过,您在编写一个测试程序,程序需要暂停一段时间,于是调用 Thread.sleep()。但是编译器或 IDE 报错说没有处理检查到的 InterruptedException。InterruptedException 是什么呢,为什么必须处理它?下面跟着小编一起来看看。
    2016-08-08
  • Java线程操作的常见方法【线程名称获取、设置、线程启动判断等】

    Java线程操作的常见方法【线程名称获取、设置、线程启动判断等】

    这篇文章主要介绍了Java线程操作的常见方法,结合实例形式总结分析了java线程的创建、线程名称的获取、设置以及线程启动的判断等相关操作实现技巧,需要的朋友可以参考下
    2019-10-10
  • Java实现文件上传和下载的方法详解

    Java实现文件上传和下载的方法详解

    文件上传,也称为upload,是指将本地图片、视频、音频等文件上传到服务器上。文件下载,也称为download,是指将文件从服务器传输到本地计算机的过程。本文将用Java实现文件上传和下载,需要的可以参考一下
    2022-09-09
  • Java中JMM与volatile关键字的学习

    Java中JMM与volatile关键字的学习

    这篇文章主要介绍了通过实例解析JMM和Volatile关键字的学习,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-09-09
  • 详细了解java监听器和过滤器

    详细了解java监听器和过滤器

    下面小编就为大家带来一篇基于java servlet过滤器和监听器(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-07-07
  • Java提取两个字符串中的相同元素方法

    Java提取两个字符串中的相同元素方法

    今天小编就为大家分享一篇Java提取两个字符串中的相同元素方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • 详解Java编程中throw和throws子句的使用方法

    详解Java编程中throw和throws子句的使用方法

    这篇文章主要介绍了详解Java编程中throw和throws子句的使用方法,是Java入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • Springboot使用Security实现OAuth2授权验证完整过程

    Springboot使用Security实现OAuth2授权验证完整过程

    安全管理是软件系统必不可少的的功能。根据经典的“墨菲定律”——凡是可能,总会发生。如果系统存在安全隐患,最终必然会出现问题,这篇文章主要介绍了SpringBoot使用Security实现OAuth2授权验证完整过程
    2022-12-12

最新评论