java中Random随机数使用和生成随机数的多个示例

在 Java 中,我们可以使用 java.util.Random 类生成伪随机数。伪随机数的特性是,虽然它们看起来是随机的,但实际上它们是由一个固定的算法生成的。只要我们提供相同的种子,这个算法就会生成相同的数字序列。

首先,我们需要创建一个 Random 类的实例。我们可以选择是否给它提供一个种子。如果我们不提供种子,Java 将使用当前时间的毫秒数作为种子。如果我们想在每次运行程序时都得到相同的数字序列,那么我们就需要提供一个固定的种子。

创建 Random 类实例后,我们可以使用它的各种方法来生成不同类型的随机数,比如 nextInt(), nextDouble(), nextLong(), nextFloat() 等方法。例如,nextInt() 方法将返回一个随机的 int 值,nextDouble() 方法将返回一个随机的 double 值,范围在 0.0 到 1.0 之间,等等。

下面是一个简单的示例,展示了如何使用 Random 类来生成随机数:

import java.util.Random;

public class Main {
    public static void main(String[] args) {
        Random rand = new Random(); // 创建一个新的随机数生成器

        int randomInt = rand.nextInt(); // 生成一个随机的int值
        System.out.println("Generated Random Int: " + randomInt);

        int randomIntWithinRange = rand.nextInt(100); // 生成一个在0(包含)到100(不包含)之间的int值
        System.out.println("Generated Random Int within 0 to 100: " + randomIntWithinRange);

        double randomDouble = rand.nextDouble(); // 生成一个随机的double值 
        System.out.println("Generated Random Double: " + randomDouble);
    }
}

当我们运行上面的程序,我们将看到每一种方法生成的随机数。请注意,每次我们运行这个程序,生成的随机数都可能不同,因为我们没有为随机数生成器提供一个固定的种子。

下面我会提供五个关于java.util.Random类的使用实例:

实例1:生成一个0~100之间的随机整数

import java.util.Random;

public class Main {
    public static void main(String[] args) {
        Random rand = new Random();
        int randomInt = rand.nextInt(100);  
        System.out.println("随机整数:" + randomInt);
    }
}

实例2:生成一个0.0~1.0之间的随机浮点数

import java.util.Random;

public class Main {
    public static void main(String[] args) {
        Random rand = new Random();
        double randomDouble = rand.nextDouble();  
        System.out.println("随机浮点数:" + randomDouble);
    }
}

实例3:生成一个随机布尔值

import java.util.Random;

public class Main {
    public static void main(String[] args) {
        Random rand = new Random();
        boolean randomBool = rand.nextBoolean();  
        System.out.println("随机布尔值:" + randomBool);
    }
}

实例4:生成一个在某个范围内的随机整数

import java.util.Random;

public class Main {
    public static void main(String[] args) {
        Random rand = new Random();
        int min = 50;
        int max = 100;
        int randomNum = rand.nextInt((max - min) + 1) + min;
        System.out.println("在50-100之间的随机数:" + randomNum);
    }
}

实例5:使用固定的种子生成随机数

import java.util.Random;

public class Main {
    public static void main(String[] args) {
        long seed = 123456789;
        Random rand = new Random(seed);
        int randomInt = rand.nextInt();  
        System.out.println("固定种子生成的随机整数:" + randomInt);
    }
}

在这些例子中,我们可以看到java.util.Random类的多种用法,包括生成随机的整数、浮点数、布尔值,以及在一个指定的范围内生成随机数。

如果还有不会的问题,我们可以直接打开r5AI进行提问解答,地址:r5ai.com
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/219950.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS开发基础(一)

HarmonyOS开发基础(一) // :装饰器:用来装饰类结构、方法、变量 Entry // Entry:标记当前组件为入口组件 Component // Component:标记为自定义组件 // struct:自定义组件,可复用的…

winform使用串口通信读取压力传感装置(CFM)的数据

一、简介 目的:获取CFM的 “hi” 报文,解析出如下数据并绘制波形图。 实现:使用c#打开CFM串口,发送 02 00 02 4C 49 0D 请求到串口,CFM就会不断返回不同类型的报文,我解析的是 “hi” 报文(至…

2477. 到达首都的最少油耗 : 逐步讲解最低油耗求解思路

题目描述 这是 LeetCode 上的 「2477. 到达首都的最少油耗」 ,难度为 「中等」。 Tag : 「DFS」 给你一棵 n 个节点的树(一个无向、连通、无环图),每个节点表示一个城市,编号从 0 到 n - 1,且恰好有 n - 1 …

全网最新最牛的Appium自动化:Appium常用操作之TouchAction操作

TouchAction操作 Appium的辅助类,主要针对手势操作,比如滑动、长按、拖动等。其原理是将一系列的动作放在一个链条中,然后将该链条传递给服务器。服务器接受到该链条后,解析各个动作,逐个执行。 TouchAction类支持的动…

解决:docx.opc.exceptions.PackageNotFoundError: Package not found at ‘xxx’

解决:docx.opc.exceptions.PackageNotFoundError: Package not found at ‘xxx’ 文章目录 解决:docx.opc.exceptions.PackageNotFoundError: Package not found at ‘xxx’背景报错问题报错翻译报错位置代码报错原因解决方法今天的分享就到此结束了 背景…

深度学习TensorFlow2基础知识学习前半部分

目录 测试TensorFlow是否支持GPU: 自动求导: 数据预处理 之 统一数组维度 定义变量和常量 训练模型的时候设备变量的设置 生成随机数据 交叉熵损失CE和均方误差函数MSE 全连接Dense层 维度变换reshape 增加或减小维度 数组合并 广播机制&#…

MYSQL8用户权限配置详解

单位的系统性能问题需要把Mysql5升级到Mysql8,需要用到Mysql8的一些特性来提升系统的性能。 配置用户权限过程中发现一些问题,学习并记录一下。 目录 一、环境 二、MySQL8 用户权限 2.1 账号管理权限 2.1.1 连接数据库 2.1.2 账号权限配置 2.2 密码…

从开发到测试,你需要掌握哪些必备测试技能?

一、为什么从开发转测试 我从2019年5月开始从一名java开发女程序猿正式转为测试开发工程师,原因除了机缘凑巧之外,当然是因为这个行业对测试工程师的要求已经越来越高,简单做些UI脚本录制和回放的自动化,参考度娘写出框架demo却不…

二叉树求叶子节点

以这个图展示叶子节点的求取 项目结构 项目代码截图&#xff1a;使用递归的方式求取二叉树的叶子节点&#xff08;递归指的是函数自己调用自己的过程&#xff09; 具体代码展示 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #includ…

全网最新最全的Appium自动化:Appium常用操作之等待操作

等待机制&#xff1a; 为了保证脚本的稳定性&#xff0c;有时候需要引入等待时间&#xff0c;等待页面加载元素后再进行操作&#xff0c;主要有三种等待时间设置方式。 方式一&#xff1a; sleep()&#xff1a;固定等待时间设置&#xff0c;python的time包里提供了休眠方法sle…

Clion自定义管理和配置软件构建过程的工具(代替CMake)构建程序

在公司由于需要x86环境和其他arm环境&#xff0c;同时需要使用公司自定义的mine_x86或者mine_orin对代码进行编译。 编译命令如下mine_x86 build -Dlocal1 -j8,为使用Clion对程序进行调试&#xff0c;需要对程序进行设置。方便调试代码时能够断点查看变量。尝试了很多次&#…

什么是网络爬虫?有什么用?怎么爬?

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 【导读】 网络爬虫也叫做网络机器人&#xff0c;可以代替人们自动地在互联网中进行数据信息的采集与整理。 在大数据时代&#xff0c;信息的采集是一项重要的工作&#xff0c;如果单纯靠人力进行信息采集&#xff0c;不仅低…

作业12.5

1.定义一个基类 Animal&#xff0c;其中有一个虛函数perform&#xff08;)&#xff0c;用于在子类中实现不同的表演行为。 #include <iostream>using namespace std; class Animal { private:int weight; public:Animal(){}Animal(int weight):weight(weight){}virtual …

temu最近数据:拼多多旗下跨境电商平台的业绩持续增长

据最近的报道和数据显示&#xff0c;拼多多旗下的跨境电商平台Temu在2023年第三季度取得了显著的业绩增长。销售额突破50亿美元&#xff0c;市场份额不断扩大&#xff0c;用户数量迅速增长。本文将深入探讨Temu的业绩增长、市场份额、用户增长以及其营销策略。 先给大家推荐一款…

批量给文件名加相同后缀的两个方法

如何批量给文件名加相同后缀&#xff1f;文件处理是每个上班族需要面对的工作&#xff0c;并且文件处理能力的高低也体现了我们工作能力的高低&#xff0c;文件处理中就包含文件名称的修改&#xff0c;修改文件名是非常简单的&#xff0c;通过点击软件重命名就可以进行操作&…

应用案例 | 基于三维视觉的汽车零件自动化拧紧解决方案

​Part.1 引言 随着人们生活水平的提高&#xff0c;汽车作为理想的代步工具&#xff0c;逐渐成为人们生活中不可或缺的一部分。汽车的广泛应用&#xff0c;大大增加了汽车制造业的负荷。因此&#xff0c;如何提高生产效率和汽车性能&#xff0c;成为汽车制造业的首要关注话题。…

AI之火是如何燎原的?始于马斯克与佩奇的一场激辩

丨划重点 ①在2015年, 马斯克44岁生日派对上&#xff0c;他与谷歌联合创始人佩奇曾就AI产生严重分歧&#xff0c;甚至终结了十多年的友谊。佩奇认为人类最终将与AI机器融合&#xff0c;将会有许多种智能争夺资源, 马斯克则担心机器可能会毁灭人类。 ②在收购AI创企DeepMind时…

智慧电力在线监测系统

智慧电力在线监测系统是一种基于物联网、云计算、大数据和人工智能等技术的智能化监控系统&#xff0c;用于实时监测电力设备的运行状态和电能质量&#xff0c;及时发现和处理电力系统中存在的问题&#xff0c;提高电力系统的安全性和可靠性。依托电易云-智慧电力物联网&#x…

Linux系统编程:并发与信号总结

并发 并发是指两个或多个同时独立进行的活动。在计算机系统中&#xff0c;并发指的是同一个系统中多个独立活动同时进行&#xff0c;而非依次进行。 并发在计算机系统中的表现&#xff1a; 一个时间段中有几个程序都处于已启动运行到运行完毕之间&#xff0c;且这几个程序都是…

spring boot 2 升级到 spring boot 3 后文件上传失败

背景 项目需要&#xff0c;要求升级 spring boot 2.7 到 spring boot 3.2&#xff0c;升级过程中发现很多不兼容问题&#xff0c;下面说明文件上传失败的解决方案。 问题 spring boot 2 中不需要额外的配置&#xff0c;直接在 Controller 中配置 MultipartFile 接收页面传的…