Java中产生随机数

1 . 调用java.lang下面Math类中的random()方法产生随机数

新建一个文件后缀名为java的文件,文件名取为MyRandom,该类中编写如下的代码:

public class MyRandom {

public static void main(String[] args) {

int  radom = (int)(Math.random()*10);

System.out.println(radom);

}

}

其中Math.random() //产生0~1之间的一个随机小数。

产生一个0~9之间的整数为:(int)(Math.random()*10);

产生一个1~10之间的整数则可以写着:(int)(Math.random()*10 + 1);

以此类推:产生一个0~n之间的数就应写作:Math.random()*n;

取出一个指定长度大小的随机正整数:

public static int buildRandom(int length) {

int num = 1;

double random = Math.random();

if (random < 0.1) {

random = random + 0.1;

} for (int i = 0; i < length; i++) {

num = num * 10;

}

return (int) ((random * num));

}

2 . 调用java.util下面Random类,此类的实例用于生成伪随机数流,产生一个随机整数,则调用该类的nextInt()方法

使用Random类之前,则在包下导入java.util.Random ;代码为:

import java.util.Random;

public class MyRandom {

public static void main(String[] args) {

Random rand = new Random();

int rInt = rand.nextInt(10);

System.out.println(rInt);

}

}

其中Random rand = new Random()是创建一个新随机数生成器;rand.nextInt(int n)是从此随机数生成器的序列中取出的、在 0(包括)和指定值n(不包括)之间均匀分布的 int值。

Java中在指定的整数范围类,循环产生不相同的随机数

以产生6位20以内不相同的随即整数 为例如下:

public class MyRandom {

public static void main(String[] args) {

int n = 20;

Random rand = new Random();

boolean[]  bool = new boolean[n];

int randInt = 0;

for(int i = 0; i < 6 ; i++) {

do {

randInt  = rand.nextInt(n);

}while(bool[randInt]);

bool[randInt] = true;

System.out.println(randInt);

}

}

}

其中用布尔变量数组来存储是否生成了该数字。生成后,该数字作为布尔数组下表的对应布尔值变成了true,下一次生成该数字就会再次进入do...while循环生成数字直到产生没有生成过的数字。

例如:生成一个int类型的数组,长度为50的,并向其中随即插入0-50之间的数,并且不能重复。

代码如下:

public class MyRandom {

public static void main(String[] args) {

int[] intRandom = new int[50];

List mylist = new ArrayList();  //生成数据集,用来保存随即生成数,并用于判断

Random rd = new Random();

while(mylist.size() < 50) {

int num = rd.nextInt(51);

/**用集合的contains方法,来判断该数据集中是否包含随即数num,

* 如果含有返回true。不包含就是false。!表示“非”。

*!mylist.contains(num))是个布尔值,只有当该值为true时才执行其内部的操作,即为不包含时才执行。

*/

if(!mylist.contains(num)) {

mylist.add(num);  //往集合里面添加数据。

}

}

/**给数值赋值*/

for(int i = 0;i

intRandom[i] = (Integer)(mylist.get(i));

}

}

}

java 随机生成不重复的数字_java中生成不重复随机的数字相关推荐

  1. C++在数字N中找到精确除以N的数字的算法(附完整源码)

    C++在数字N中找到精确除以N的数字的算法 C++在数字N中找到精确除以N的数字的算法完整源码(定义,实现,main函数测试) C++在数字N中找到精确除以N的数字的算法完整源码(定义,实现,main ...

  2. C++在数字向量中找到出现奇数次的数字的算法实现(附完整源码)

    C++在数字向量中找到出现奇数次的数字的算法实现 C++在数字向量中找到出现奇数次的数字的算法实现完整源码(定义,实现,main函数测试) C++在数字向量中找到出现奇数次的数字的算法实现完整源码(定 ...

  3. java生成16位随机数_java中如何产生一个16位数字组成的随机字符串?谢谢各位了...

    展开全部 方法如下: Random ran=new random(); boolean flag=true; while(flag){ int a=ran.nextInt(99999999); int ...

  4. java 随机数生成实现_Java中生成随机数的实现方法总结

    搜索热词 在实际开发工作中经常需要用到随机数.如有些系统中创建用户后会给用户一个随机的初始化密码.这个密码由于是随机的,为此往往只有用户自己知道.他们获取了这个随机密码之后,需要马上去系统中更改.这就 ...

  5. java 8位随机数_JAVA中生成指定位数随机数的方法总结

    JAVA中生成指定位数随机数的方法很多,下面列举几种比较常用的方法. 方法一.通过Math类 1 public static String getRandom1(intlen) {2 int rs = ...

  6. java arraylist 重复_Java中ArrayList去除重复元素

    Java中ArrayList去除重复元素 //删除ArrayList中重复元素 public   static   void  removeDuplicate(ArrayList list)   { ...

  7. java用if判断输入字符_JAVA中如何判断一个输入是数字还是字符串

    展开全部 1.使用Character.isDigit(char)判断 String str = "123abc"; if (!"".equals(str)) { ...

  8. python随机生成英文字母_在Python中生成随机字母

    有没有一种方法可以在Python中生成随机字母(如random.randint,但用于字母)? random.randint的范围功能会很好,但是拥有仅输出随机字母的生成器总比没有好. 简单: > ...

  9. Java所有函数都是动态的_Java中的函数动态调用

    //------------------------------------- //类ArgumentHolder //用于调用参数的封装,实现变长参数及 //不同类型参数的统一形式地传递 //成员变 ...

  10. Java传统的io和nio区别_Java中IO和NIO的本质和区别

    简介 终于要写到java中最最让人激动的部分了IO和NIO.IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1.0开始就 ...

最新文章

  1. hadloop大数据平台论文_企业大数据平台建设过程中的问题和建议
  2. china-pub,当当,卓越购书经验谈
  3. [转](总结)Linux/UNIX的scp命令用法详解
  4. [caffe解读] caffe从数学公式到代码实现5-caffe中的卷积
  5. Linux加密框架 crypto RC4
  6. java response 输出流_java-springmvc+filter 替换输出流、response、响应内容
  7. 禁用ios7 手势滑动返回功能
  8. 遇到代码缺陷不要慌,马上教你快速检测和修复
  9. 家里安装20M宽带,为什么看视频都不卡,但一玩游戏就卡的要死?
  10. 为什么谷歌要执行严格的代码编写规范?
  11. 2014 年 1 月 21 日国内互联网根域名服务器 (DNS) 故障是什么原因?
  12. 《深入浅出统计学(中文版)》读书笔记【全15章】
  13. RISC-V MCU + 盲人智能导航系统
  14. CDOJ 1131 男神的礼物 区间dp
  15. QQ聊天机器人 Delphi代码
  16. op 消除 消除自激振荡
  17. 绕过滑块验证码登陆网站的实现
  18. 炒菜模型——各种编程范式
  19. OpenSearch 学习
  20. 特征值(特征向量)与相似对角化

热门文章

  1. 负数求余究竟怎么求???
  2. 面对复杂问题时,系统思考助你理解问题本质
  3. 后端工程师第一周实习笔记(实习面试必知大学课堂上却没讲的知识点)
  4. ​【NeurIPS 2022】IPMT:用于小样本语义分割的中间原型挖掘Transformer
  5. 微信企业号回调 php,PHP微信企业号回调模式的开启与用法实例分享
  6. pytorch中tensor转numpy
  7. (Note)阿克西斯ACASIS DT-3608双盘位硬盘阵列盒RAID设置
  8. 智能科学与技术是不是属于计算机专业,智能科学与技术专业属于什么类别
  9. 云计算开发技术Python自动化运维开发实战二
  10. 虚拟机VMware workstation安装gho系统详解