文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-05-17 14:04

关注

 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生成指定随机整数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯