当前位置:首页 » 编程语言 » 生成不重复随机数java

生成不重复随机数java

发布时间: 2022-05-24 00:49:29

java怎么生成不重复的随机数

没办法,只好把生成的随机数放到set中,以后每次取随机数,判一下set,有的话,重新生成。

⑵ Java如何让随机数不重复

1.JAVA中生成随机数的方式 1、在j2se中使用Math.random()令系统随机选取一个0~1之间的double类型小数,将其乘以一个数,比如25,就能得到一个0~25范围内的随机数,这个在j2me中没有...
2.随机给定范围内N个不重复的数 1、方法一:最简单最易理解的两重循环去重 /** * 随机指定范围内N个不重复的数 * 最简单最基本的方法 * @param min 指定范围最小值 * @param max ...

⑶ java如何生成12位永远不重复的数字

Calendar calendar = Calendar.getInstance();

System.out.println("现在:"+calendar.getTime().getTime());

calendar.add(Calendar.YEAR, 10);

System.out.println("10年后:"+calendar.getTime().getTime());

时间戳高并发还是会有重复的,你应该每获取一次加1的方法生成。用锁对象或者把方法声明为synchronized保证并发也不会重复。如果有用数据库,也可以用数据库提供的sequence来帮你生成。

(3)生成不重复随机数java扩展阅读:

当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类;

通过调用类(这些类实现了Java API)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。

⑷ 产生10个范围在1-10之间的不重复的随机数,原样输出,用java中的数组。

import
java.util.Random;
public
class
Rand
{
public
static
void
main(String[]
args)
{
//产生随机数的类
Random
random=new
Random();
//装随机数的数组
10个整数
int[]
num=new
int[10];
//临时存放产生的一个随机数
int
ret=0;
//定义标志位,flag=false代表数组中无重复数,true代表有重复数
boolean
flag=false;
for
(int
i
=
0;
i
<
num.length;)
{
//产生随机数
ret=Math.abs(random.nextInt()%10)+1;
//循环检测该随机数是否与数组中的数重复
for
(int
j
=
0;
j
<
num.length;
j++)
{
//如果存在重复,标志位变为true,并且break退出循环检测
if
(ret==num[j])
{
flag=true;
break;
}else
{
flag=false;
}
}
//如果检测完无重复数据,则将产生的随机数存入数组中,并且数组下标计数加1
if
(!flag)
{
num[i]=ret;
i++;
}
}
//循环输出产生的随机数
for
(int
i
:
num)
{
System.out.print(i+"
");
}
}
}
输出:6
3
5
1
4
10
7
9
8
2

有不明白的请继续问

⑸ java怎么产生不会重复的随机数

//产生20个不重复随机数
publicstaticvoidmain(String[]args){
booleantag=true;
List<Integer>list=newArrayList<>();
for(inti=0;i<20;i++){
intv=(int)(Math.random()*100+1);
for(Integerinteger:list){
if(integer==v){
tag=false;
}
}
if(tag){
list.add(v);
}
}

for(Integerinteger:list){
System.out.println(integer);
}
}

⑹ 如何让JAVA生成不重复随机数

一个不错的算法,很简单,但有效。不过如果范围比较大,则占用内存大,就不推荐使用了。个人感觉1000个以内的就可以考虑。这东西也许你早就知道了,但我依然惊叹算法的力量。看代码 import java.util.*;/** * 生成不重复随机数的一种算法。***/ public class T { public static void main(String args) { // 种子你可以随意生成,但不能重复 int seed = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int ranArr = new int; Random ran = new Random(); // 数量你可以自己定义。 for (int i = 0; i seed.length; i++) { // 得到一个位置 int j = ran.nextInt(seed.length - i); // 得到那个位置的数值 ranArr[i] = seed[j]; // 将最后一个未用的数字放到这里 seed[j] = seed[seed.length - 1 - i];} System.out.println("ranArr:" + Arrays.toString(ranArr));}} 一个运行结果

⑺ java中如何用random函数产生不重复的随机数

废话不多说直接上代码!
import java.util.ArrayList;
import java.util.Random;
public class Test {
public static void main(String[] args) {
// 生成 [0-n) 个不重复的随机数
// list 用来保存这些随机数
ArrayList list = new ArrayList();
int n = 10;
Random rand = new Random();
boolean[] bool = new boolean[n];
int num = 0;
for (int i = 0; i < n; i++) {
do {
// 如果产生的数相同继续循环
num = rand.nextInt(n);
} while (bool[num]);
bool[num] = true;
list.add(num);
}
System.out.println(list);
}
}

⑻ Java怎么产生不重复的随机数,求代码

/**
*随机指定范围内N个不重复的数
*最简单最基本的方法
*@parammin指定范围最小值
*@parammax指定范围最大值
*@paramn随机数个数
*/
publicstaticint[]randomCommon(intmin,intmax,intn){
if(n>(max-min+1)||max<min){
returnnull;
}
int[]result=newint[n];
intcount=0;
while(count<n){
intnum=(int)(Math.random()*(max-min))+min;
booleanflag=true;
for(intj=0;j<n;j++){
if(num==result[j]){
flag=false;
break;
}
}
if(flag){
result[count]=num;
count++;
}
}
returnresult;
}

⑼ 怎样用java产生一个指定范围而且不重复的随机数

publicintgetRandomNumber(){

IntegerrandomNumber=(int)(Math.random()*100);//产生0-100随机数

List<Integer>list=newArrayList<Integer>();
if(!list.contains(randomNumber)){//判断是否重复,不是重复的加入集合
list.add(randomNumber);
}else{//如果产生的随机数是重复的,用递归的方法再次生成
getRandomNumber();
}

returnrandomNumber;
}

我想的思路如上面代码所示。

⑽ JAVA中怎样实现数组中随机数不重复

可以参考下面的代码:

public static void main(String[] args) {

int s = -1;

int a[] = new int[100];

int i = 0;

while (i < 100) {

s = (int) (Math.random() * 100 + 1);

for (int j = 0; j < 100; j++) {

if (a[j] == s) {

break;

} else if (j == i) {

a[i] = s;

i++;

break;

}

}

}

}

(10)生成不重复随机数java扩展阅读:

java参考函数

max(x,y) 返回 x 和 y 之间较大的数

min(x,y) 返回 x 和 y 之间较小的数

pow(x,y) 返回 y^x 的值

random() 返回位于 0 到 1 之间的随机函数

round(x) 四舍五进后与整

sin(x) 返回数字的正弦值

sqrt(x) 返回数字的平方根

tan(x) 返回一个角度的正切值

toSource() 显示对象的流代码

valueOf() 返回数教对象的本初值

热点内容
linux内核抢占 发布:2025-02-13 10:36:32 浏览:889
家装公司源码 发布:2025-02-13 10:35:35 浏览:48
aspnet更新数据库 发布:2025-02-13 10:35:34 浏览:384
海尔压缩机不工作 发布:2025-02-13 10:15:32 浏览:223
才儿坊编程 发布:2025-02-13 10:09:58 浏览:729
手机存储速度测试 发布:2025-02-13 10:09:58 浏览:368
什么是安卓客户端开发 发布:2025-02-13 10:07:48 浏览:614
加密脱壳 发布:2025-02-13 10:07:44 浏览:639
oppor9怎么压缩图片 发布:2025-02-13 10:06:13 浏览:948
云服务器app哪个最好 发布:2025-02-13 09:47:53 浏览:1000