Random生成伪随机数
Random类:
主要方法:
返回值 | 方法 | 描述 |
---|---|---|
boolean | nextBoolean() | 返回一个布尔型随机数 |
double | nextDouble() | 返回一个double型随机数 |
float | nextFloat() | 返回一个float型随机数 |
int | nextInt() | 返回一个int型随机数 |
int | nextInt(int n) | 返回介于[0,n)int型随机数 |
long | nextLong() | 返回一个long型随机数 |
void | setSeed(long newseed) | 将newseed指定的值设为种子 |
案列:
生成[100,200]区间的随机数
分析:
以nextInt(int n)方法为例,可以生成任意区间的随机数,比如生成[100,到200]内的随机数,由于区间是[0,n),故可以选n=101,再加100,即nextInt(101)+100;由于Random不是真正的随机,也叫伪随机,我们可以设置一个时间种子。
代码如下:
public static void main(String[] args) {
// 创建一个Random对象
Random random = new Random();
// 把当前时间设置为种子
random.setSeed(System.currentTimeMillis());
// 生成100个[100,200]的随机数
for (int i = 0; i < 100; i++) {
int num = random.nextInt(101)+100;
System.out.println(num);
}
}
扩展:
根据生成随机数,完成猜数字小游戏
代码实现:
public class Test2 {
public static void main(String[] args) {
// 创建一个数组
int[] a=new int[50];
// 创建一个Random对象生成随机数
Random random =new Random();
// 获取数组长度
int length = a.length;
// 循坏给数组赋值
for (int i = 0; i < length; i++) {
a[i]=random.nextInt(50);
}
// 创建Scanner对象,键盘输入
Scanner input = new Scanner(System.in);
System.out.println("请输入50以内的数:");
int num = input.nextInt();
boolean flag = false;
for (int i:a
) {
if(num==i){
flag=true;
break;
}
}
if (flag) {
System.out.println("恭喜你,猜对了");
}else{
System.out.println("抱歉,你猜错了");
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!