当前位置: 首页 > news >正文

android 实战开发之Java 中生成从 1 到 3 的随机数

在 Java 中生成从 1 到 3 的随机数,可以使用 java.util.Random 类或者 Math.random() 方法。

以下是使用两种不同方法来生成 1 到 3 之间随机数的示例代码:

方法一:使用 java.util.Random

import java.util.Random;public class Main {public static void main(String[] args) {Random random = new Random();int randomNumber = random.nextInt(3) + 1; // 生成 [0,3) 范围的随机数,然后加1到 [1,4) 范围使其成为 [1,3]System.out.println(randomNumber);}
}

方法二:使用 Math.random() 方法

public class Main {public static void main(String[] args) {int randomNumber = (int)(Math.random() * 3) + 1; // Math.random() 生成一个 [0.0,1.0) 范围的 double 值, 乘以 3 生成 [0.0,3.0) 范围的值, 强制转换为 int 并加 1 使其成为 [1,3]System.out.println(randomNumber);}
}

解释

  • 方法一: Randomrandom.nextInt(3) 方法生成 [0, 3) 范围内的整数,即 0、1、2。然后加上 1,使其范围变为 [1, 4),即 1、2、3。
  • 方法二: Math.random() 方法Math.random() 生成一个 [0.0, 1.0) 范围内的 double 型随机数。乘以 3 后生成一个 [0.0, 3.0) 范围内的值,然后通过强制转换为 int 去掉小数部分,结果为 0、1、2,再加上 1,使范围变为 [1, 4),即 1、2、3。

这两种方法都是得到 1 到 3 之间随机数的有效方法,可以根据自己的需要进行选择。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • shell脚本(1)--一键启动zookeeper
  • 第三章 PyTorch的使用
  • git如何将多个提交合并为一个提交
  • 数学建模之数据分析【八】:数据预处理之数据格式化
  • 【傅里叶分析】复数基础知识
  • 搭建NFS服务器
  • 《黑神话悟空》:你绝对想知道的秘密
  • 编程达人Windows核心编程 第18章 演示如何使用堆
  • 无知是福-谈环境计算
  • 电机学习记录
  • 请说一下单例模式的概念及应用场景
  • DB-GPT开源项目文档入门
  • Python中的基本数据类型:构建坚实编程基石
  • centos7安装Kafka单节点环境部署一-ZooKeeper安装与配置
  • UE5-C++入门教程(二)---编写Editor类别的自定义模型实现小球规划路线的可视化
  • Apache Pulsar 2.1 重磅发布
  • bootstrap创建登录注册页面
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • HTTP--网络协议分层,http历史(二)
  • Iterator 和 for...of 循环
  • mongo索引构建
  • Python_OOP
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • SpiderData 2019年2月13日 DApp数据排行榜
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 浮动相关
  • 浮现式设计
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 精彩代码 vue.js
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 深度解析利用ES6进行Promise封装总结
  • 算法系列——算法入门之递归分而治之思想的实现
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • Spring Batch JSON 支持
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ![CDATA[ ]] 是什么东东
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • $$$$GB2312-80区位编码表$$$$
  • (13):Silverlight 2 数据与通信之WebRequest
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (办公)springboot配置aop处理请求.
  • (二)JAVA使用POI操作excel
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (回溯) LeetCode 46. 全排列
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .mysql secret在哪_MYSQL基本操作(上)
  • .net 7 上传文件踩坑
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .NET框架设计—常被忽视的C#设计技巧
  • .NET中的Exception处理(C#)