java 随机生成一个10位数 至少保证在多少次内不会重复? 20

就是随机生成一个10位数,保证在多少次以内不会重复。问题就是这样,望各位大侠帮帮忙!... 就是 随机生成一个10位数,保证在多少次以内不会重复。问题就是这样,望各位大侠帮帮忙! 展开
 我来答
惟妙惟肖且巍然灬毛豆h
2019-03-16
知道答主
回答量:1
采纳率:0%
帮助的人:766
展开全部
                          既然是随机,就没有确定的次数

                                      

使用工具:MyEclipse 10

package Snsq;
import java.util.*;
public class java8 {
//随机数字(0~N)不重复的数字,过程及随机所需的次数。
public static void main(String[] args) {
Scanner in=new  Scanner(System.in);//创建扫描仪
int  k=in.nextInt();//接收扫描到的数据(数字类型)
Random rd=new Random();//创建随机机器
int [] a=new int [k];//给数组定义大小为k
int b=0,c=0,d=0;//创建三个数字类型变量以便运算
//b是累计循环次数,c是累计不重复个数,d是已给值数组a[]不重复的个数。
for(int j=0;j<=k*20;j++){//创建嵌套for循环,并定义循环次数为(20*k)
b++;
int y=rd.nextInt(k);//生成随机数(0~k)
for(int i=0;i<k;i++){
if(y!=a[i]){c++;}//每次随机出的数判断是否与数字a[]的每个值重复,是则c做累加,直到c==k
}
if(c==k){d++;a[d-1]=y;System.out.print(y+" ");}else{c=0;}//输出每一次随机到与数组a[]里不重复的数,累计不重复个数变量c变为初始值0。
if(d==k-1){break;}//已达到数组a[]里的值都不重复,并结束循环。
}
for(int i=0;i<k;i++){//用嵌套for循环将数组a[]进行冒泡排序从小到大
for(int j=0;j<k-1;j++){
if(a[j]>a[j+1]){d=a[j];a[j]=a[j+1];a[j+1]=d;}
}
}
System.out.println();
for(int i=0;i<k;i++){System.out.print(a[i]+" ");}//用for打印已排好序的数,以便验证是否都不重复
System.out.println();
System.out.println("一共随机"+b+"次");//输出结果
}
}

8拉拉
2011-10-09
知道答主
回答量:51
采纳率:0%
帮助的人:11.1万
展开全部
这系统生成的随机数咋可能重复啊,而且还是10位数的,一万次也没个重复的。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Sunny芸
2011-10-09 · 超过15用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:42.4万
展开全部
String number = "";
Random rd = new Random();
while (number.length() != 10) {
String rn = rd.nextInt(10) + "";
if (number.indexOf(rn) == -1)
number += rn;
}
System.out.println(number);
多次不重复
追问
不会不重复啊这个。生成的多了肯定会重复的哦。
追答
你生成多少啊?我试了几次不会重复
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
班丘紫琼rN
2012-11-20 · 超过21用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:54.1万
展开全部
System.out.println((System.currentTimeMillis()+"").substring(4)+new Random().nextInt(10));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jklyhb
2011-10-09
知道答主
回答量:15
采纳率:0%
帮助的人:10.6万
展开全部
要保证多少次内不会重复··这个永远保证不到的··因为是随机产生的··也有可能是无穷次噢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式