java 随机生成不重复的数字_java中生成不重复随机的数字
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中生成不重复随机的数字相关推荐
- C++在数字N中找到精确除以N的数字的算法(附完整源码)
C++在数字N中找到精确除以N的数字的算法 C++在数字N中找到精确除以N的数字的算法完整源码(定义,实现,main函数测试) C++在数字N中找到精确除以N的数字的算法完整源码(定义,实现,main ...
- C++在数字向量中找到出现奇数次的数字的算法实现(附完整源码)
C++在数字向量中找到出现奇数次的数字的算法实现 C++在数字向量中找到出现奇数次的数字的算法实现完整源码(定义,实现,main函数测试) C++在数字向量中找到出现奇数次的数字的算法实现完整源码(定 ...
- java生成16位随机数_java中如何产生一个16位数字组成的随机字符串?谢谢各位了...
展开全部 方法如下: Random ran=new random(); boolean flag=true; while(flag){ int a=ran.nextInt(99999999); int ...
- java 随机数生成实现_Java中生成随机数的实现方法总结
搜索热词 在实际开发工作中经常需要用到随机数.如有些系统中创建用户后会给用户一个随机的初始化密码.这个密码由于是随机的,为此往往只有用户自己知道.他们获取了这个随机密码之后,需要马上去系统中更改.这就 ...
- java 8位随机数_JAVA中生成指定位数随机数的方法总结
JAVA中生成指定位数随机数的方法很多,下面列举几种比较常用的方法. 方法一.通过Math类 1 public static String getRandom1(intlen) {2 int rs = ...
- java arraylist 重复_Java中ArrayList去除重复元素
Java中ArrayList去除重复元素 //删除ArrayList中重复元素 public static void removeDuplicate(ArrayList list) { ...
- java用if判断输入字符_JAVA中如何判断一个输入是数字还是字符串
展开全部 1.使用Character.isDigit(char)判断 String str = "123abc"; if (!"".equals(str)) { ...
- python随机生成英文字母_在Python中生成随机字母
有没有一种方法可以在Python中生成随机字母(如random.randint,但用于字母)? random.randint的范围功能会很好,但是拥有仅输出随机字母的生成器总比没有好. 简单: > ...
- Java所有函数都是动态的_Java中的函数动态调用
//------------------------------------- //类ArgumentHolder //用于调用参数的封装,实现变长参数及 //不同类型参数的统一形式地传递 //成员变 ...
- Java传统的io和nio区别_Java中IO和NIO的本质和区别
简介 终于要写到java中最最让人激动的部分了IO和NIO.IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1.0开始就 ...
最新文章
- hadloop大数据平台论文_企业大数据平台建设过程中的问题和建议
- china-pub,当当,卓越购书经验谈
- [转](总结)Linux/UNIX的scp命令用法详解
- [caffe解读] caffe从数学公式到代码实现5-caffe中的卷积
- Linux加密框架 crypto RC4
- java response 输出流_java-springmvc+filter 替换输出流、response、响应内容
- 禁用ios7 手势滑动返回功能
- 遇到代码缺陷不要慌,马上教你快速检测和修复
- 家里安装20M宽带,为什么看视频都不卡,但一玩游戏就卡的要死?
- 为什么谷歌要执行严格的代码编写规范?
- 2014 年 1 月 21 日国内互联网根域名服务器 (DNS) 故障是什么原因?
- 《深入浅出统计学(中文版)》读书笔记【全15章】
- RISC-V MCU + 盲人智能导航系统
- CDOJ 1131 男神的礼物 区间dp
- QQ聊天机器人 Delphi代码
- op 消除 消除自激振荡
- 绕过滑块验证码登陆网站的实现
- 炒菜模型——各种编程范式
- OpenSearch 学习
- 特征值(特征向量)与相似对角化
热门文章
- 负数求余究竟怎么求???
- 面对复杂问题时,系统思考助你理解问题本质
- 后端工程师第一周实习笔记(实习面试必知大学课堂上却没讲的知识点)
- ​【NeurIPS 2022】IPMT:用于小样本语义分割的中间原型挖掘Transformer
- 微信企业号回调 php,PHP微信企业号回调模式的开启与用法实例分享
- pytorch中tensor转numpy
- (Note)阿克西斯ACASIS DT-3608双盘位硬盘阵列盒RAID设置
- 智能科学与技术是不是属于计算机专业,智能科学与技术专业属于什么类别
- 云计算开发技术Python自动化运维开发实战二
- 虚拟机VMware workstation安装gho系统详解