导航:首页 > 编程语言 > java生成不重复的数字

java生成不重复的数字

发布时间:2022-04-20 20:01:14

java中如何在0~25的范围内生成五个不重复的数

按照你的要求编写的[0-25]范围内生成五个不重复的整数的Java程序如下

(注意 [0-25]包括0和25两个整数)

publicclassA{
publicstaticvoidmain(String[]args){
int[]a=newint[5];//定义一个5个元素的整型数组用于存放[0-25]范围的五个不重复的整数
inti,count=1;//定义一个整型循环变量i,和一个统计不重复整数个数的整型变量count,初始化为1,表示进入while循环前已经有一个数了.
a[0]=(int)(Math.random()*26);//生成第一个[0-25]的随机整数
while(count<5){//如果生成的随机数不到5个继续循环
inttemp=(int)(Math.random()*26);//生成[0-25]的随机整数,放入临时变量temp
booleanflag=true;//用于判断是否与数组已有整数重复的标志,如果不重复为true,重复为false.
for(i=0;i<count;i++){//数组已有数据循环
if(temp==a[i]){//判断新产生的随机数是否与数组中已有的数据重复
flag=false;//有重复则设置标志为false
break;//有重复退出循环
}
}
if(flag==true){//如果与数组中的数据不重复
a[count]=temp;//把数据赋给数组
count++;//数组中的整数个数加1
}
}
for(i=0;i<a.length;i++){
System.out.print(a[i]+"");//输出[0-25]范围内的五个不重复的整数
}
}
}

㈡ 怎样用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中怎样自动生成不重复的数字

/**
*随机产生指定范围内不重复的数字
*
*@parammin产生最小数字
*@parammax产生最大数字
*@paramcount总共要产生多少个不重复的数
*@returnint数组,是从小到大排序后的结果
*/
publicstaticint[]getRandomNumbers(intmin,intmax,intcount){
intnum=0;
inti=0;
int[]arrs=newint[count];
if(count>(max-min)){
System.out.println("产生的数字个数超出设定最大最小值之间的范围!");
returnnull;
}
while(i<count){
num=(int)(Math.random()*max);
if(num>=min&&!ArrayUtils.contains(arrs,num)){
arrs[i]=num;
i++;
}
}
Arrays.sort(arrs);
returnarrs;
}

㈣ 用java如何生成 5组随机不重复的2位数,求大神指教

public static void main(String[] args) {
Random random=new Random();
List<Integer> ints=new ArrayList<Integer>();
int len=0;
while(len<30){//30个,没6个一组,刚好5组
int temp=random.nextInt(90)+10;
int flag=0;
if(ints.size()==0){
ints.add(temp);
}else{
for(int it:ints){
if(it==temp){//重复
flag=1;
break;
}
}
if(flag==0){//没有重复
ints.add(temp);
len++;
}
}
}
StringBuffer sb=new StringBuffer("[");
for(int i=0;i<5;i++){
for(int j=0;j<6;j++){
sb.append(ints.get(6*i+j)+",");
}
sb.delete(sb.length()-1, sb.length());
sb.append("]\n[");
}
sb.delete(sb.length()-1, sb.length());
System.out.println(sb);
}

㈤ 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如何生成一组随机的不重复的数列

把源数据放到数组中,然后循环随机交换这个数组元素的位置就可以了
int[]aa
=
{1,2,5,6,8,9,7};
Random
r
=
new
Random();
for(int
i=0;i<100;i++)
{
int
index
=
r.nextInt(aa.length);
int
temp
=
aa[0];
aa[0]
=
aa[index];
aa[index]
=
temp;
}

㈦ 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生成不重复随机数

一个不错的算法,很简单,但有效。不过如果范围比较大,则占用内存大,就不推荐使用了。个人感觉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怎么生成不重复的随机数

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

阅读全文

与java生成不重复的数字相关的资料

热点内容
售乐实物商城源码 浏览:674
php的资源标识符 浏览:623
联通app怎么交电视费 浏览:729
怎么从服务器切回自己的电脑 浏览:105
用生硬的命令成语 浏览:992
数据结构与算法大作业 浏览:149
英特尔支持加密货币购买吗 浏览:407
苹果如何玩安卓号的部落冲突 浏览:862
还原魔方算法c 浏览:848
树莓派如何变成服务器 浏览:251
google浏览器app怎么用 浏览:458
安卓充游戏怎么退款网易游戏 浏览:266
gre词汇精选pdf 浏览:666
荣耀20i照片加密 浏览:633
phpshtml 浏览:207
高中生玩乐队能解压吗 浏览:882
物理服务器如何租用 浏览:100
战地1是什么服务器 浏览:957
用友软件服务器地址设置 浏览:443
逃跑吧少年如何扫码登录安卓手机 浏览:744