两种产生随机数的方法:

1、通过import java.util.Random来实现

2、Math.random()

一、第一种的话就是导入Random之后,先生成一个Random对象r,之后再利用r这个对象生成随机数

在生成Random对象r的时候你可以向里面放一个随机数种子,当然也可以不放,不放的话默认就是把当前时间当为随机数种子

下面代码比较一下放置随机数种子和不放随机数种子所产生Random对象r的不同

import java.util.Random;
import java.io.*;
import java.util.Scanner;
public class smile { public static void main(String[] args) throws IOException { Random rr = new Random(1);
for(int i=1;i<=5;++i)
{
int num = rr.nextInt(50);
System.out.println("随机数为:"+num);
}
Random rrr = new Random(1);
for(int i=1;i<=5;++i)
{
int num = rrr.nextInt(50);
System.out.println("随机数为:"+num);
}
} }

结果为:

随机数为:35
随机数为:38
随机数为:47
随机数为:13
随机数为:4


随机数为:35
随机数为:38
随机数为:47
随机数为:13
随机数为:4

你会发现它的随机数其实并不是完全的随机

import java.util.Random;
import java.io.*;
import java.util.Scanner;
public class smile { public static void main(String[] args) throws IOException { Random rr = new Random();
for(int i=1;i<=5;++i)
{
int num = rr.nextInt(50);
System.out.println("随机数为:"+num);
}
Random rrr = new Random();
for(int i=1;i<=5;++i)
{
int num = rrr.nextInt(50);
System.out.println("随机数为:"+num);
}
} }

结果:

随机数为:36
随机数为:22
随机数为:10
随机数为:33
随机数为:15


随机数为:42
随机数为:38
随机数为:49
随机数为:12
随机数为:30

这个相比较而言就是较彻底的随机

二、第二种方法返回的数值是double类型[0.0,1.0],但是double类型精度很高,可以在一定程度上看作随机数,借助(int)强制转化来转变成随机数

public static void main(String[] args)
{
int max=100,min=1;
int ran2 = (int) (Math.random()*(max-min)+min);
System.out.println(ran2);
}

其实第一种方法也可以利用取余的方法生成一个范围内的数据

java随机数的产生的更多相关文章

  1. Java 随机数

    本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 广义上讲,Java中的随机数的有三种产生方式:(01). 通过System.currentTimeMillis()来获取一个当前时间 ...

  2. 学习记录 java随机数的产生机制

    java 随机数 一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100 ...

  3. Java随机数

    本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 广义上讲,Java中的随机数的有三种产生方式:(01). 通过System.currentTimeMillis()来获取一个当前时间 ...

  4. java随机数与数组的使用。

    java随机数与数组的使用.    一:题目 二 代码:  public class Students {    int number;  // 学号    int State ;   // 年级   ...

  5. Java随机数和UUID

    Java随机数和UUID Java随机数 在Java项目中通常是通过Math.random方法和Random类来获得随机数,前者通过生成一个Random类的实例来实现. 此类产生的是一组伪随机数流,通 ...

  6. java 随机数高效生成

    分享牛,分享牛原创.近期去面试经常被问到java如何生产随机数,以及生成很大的字符串保证不能重复,还要考虑性能,之前本人面试别人的时候,可能不会问这个问题.既然这个java随机数问题经常被问到,那咱们 ...

  7. (转)Java随机数

    1 随机数的三种产生方式 本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 广义上讲,Java中的随机数的有三种产生方式: (01). 通过System.currentTimeMil ...

  8. java 随机数 <%=System.currentTimeMillis() %>

    java 随机数<c:set var="version" value="<%=System.currentTimeMillis() %>"/& ...

  9. 硬核 - Java 随机数相关 API 的演进与思考(上)

    本系列将 Java 17 之前的随机数 API 以及 Java 17 之后的统一 API 都做了比较详细的说明,并且将随机数的特性以及实现思路也做了一些简单的分析,帮助大家明白为何会有这么多的随机数算 ...

  10. 硬核 - Java 随机数相关 API 的演进与思考(下)

    本系列将 Java 17 之前的随机数 API 以及 Java 17 之后的统一 API 都做了比较详细的说明,并且将随机数的特性以及实现思路也做了一些简单的分析,帮助大家明白为何会有这么多的随机数算 ...

随机推荐

  1. oracle 11g 安装与卸载

    安装 点击是,这是位数不一致,但可用. 桌面类――这种安装方式一般适用于台式机和笔记本.它包含一个最小数据库和最低的配置需求. 服务器类――这种安装方式适用于服务器,例如,它会向您提供数据中心和用于支 ...

  2. MySQL 设置保留几天的binlog

    1 ) 查看默认的日志保存天数: mysql> show variables like 'expire_logs_days'; +------------------+-------+ | Va ...

  3. Java高并发与多线程(二)-----线程的实现方式

    今天,我们开始Java高并发与多线程的第二篇,线程的实现方式. 通常来讲,线程有三种基础实现方式,一种是继承Thread类,一种是实现Runnable接口,还有一种是实现Callable接口,当然,如 ...

  4. Head First 设计模式 —— 15. 与设计模式相处

    模式 是在某情境(context)下,针对某问题的某种解决方案. P579 情景:应用某个模式的情况 问题:你想在某情境下达到的目标,但也可以是某情境下的约束 解决方案:一个通用的设计,用来解决约束. ...

  5. eCATT使用前的配置

    如果想在SAP中使用eCATT,必须做一下相关的配置才行,下面简单介绍这几步:1.SM30,输入表T000,然后点击维护,或者是进入事物SCC4,进入对应的clint属性编辑视图下,将CATT and ...

  6. 使用modify修改内表

    modify修改内表,有这样一种方式,MODIFY TABLE itab FROM wa [TRANSPORTING ..]. 然后这里的内表itab是有条件的,这个itab必须要有table key ...

  7. mysql 1449 : The user specified as a definer ('usertest'@'%') does not exist 解决方法 (grant 授予权限)

    从服务器上迁移数据库到本地localhost 执行  函数  时报错, mysql 1449 : The user specified as a definer ('usertest'@'%') do ...

  8. 百度文库Word下载器

    最近我妈的文库VIP用完了,但还有很多资源要下载,于是我便在网上找下载工具. 总算找到个完美的!(虽然没界面) 既然没界面,那就自己写一个呗! 原作者 该程序的下载和写入部分由地球守卫者制作 原文链接 ...

  9. 一文告诉你Java日期时间API到底有多烂

    前言 你好,我是A哥(YourBatman). 好看的代码,千篇一律!难看的代码,卧槽卧槽~其实没有什么代码是"史上最烂"的,要有也只有"史上更烂". 日期是商 ...

  10. jmeter-并发及常数吞吐量定时器设定