snrg.net
当前位置:首页 >> jAvA中怎样让随机数不重复 >>

jAvA中怎样让随机数不重复

java中要使生成的随机数不重复可以将已经生成的随机数放入到数组中,每次生成随机数时与数组的内容比较是否相等,相等则重新生成,不相等则存入数组。示例代码如下(生成10之内的4个不相等的整数): public class Demo { public static void ma...

楼上的 if (j == i)这个j取不到值了吧,你在for定义的,随手写了个,楼主试试 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 ...

/** * @随机数组 * 生成一个由大于零的随机整数组成的数组,且数组中没有重复的值。 * * @author * @email */ import java.util.Arrays; public class RandomArray { /* * 测试代码 */ public static void main(String[] args) { RandomArray ra...

定义一个不定长布尔数组 数组下标是random产生的数 一旦产生了就变成true ,写循环判断一旦为 true就代表这个数产生过了 然后continue; 不再执行下面语句 跳回循环头从新产生随机数 这样不会产生相同的数

//楼上那个没看懂事个啥//大概思路是产生随机数,然后将随机数放到Set里面,set大小为你要产生的大小的时候,停止产生,下面是具体代码import java.util.HashSet;import java.util.Iterator;import java.util.Random;import java.util.Set;publi...

while变为for(int i=0;i

首先,需要一个范围内的随机数,第二部判重,如果重复了就再次随机. 假设我们需要一个m到n的随机数.. 需要用到random函数随机一个从0到1的数.然后再乘m到n的范围,再加m double i = Math.random() * (m - n) + m ----> 生成随机数 判重..方法有很多...

随机肯定会重复啊,你只能建个集合,把产生的数添加进集合,判断是否重复再用

废话不多说直接上代码! import java.util.ArrayList; import java.util.Random; public class Test { public static void main(String[] args) { // 生成 [0-n) 个不重复的随机数 // list 用来保存这些随机数 ArrayList list = new ArrayList()...

Vector v=new Vector(); Random r=new Random(); boolean b=true; while(b){ int i=r.nextInt(30); if(!v.contains(i)) v.add(i); if(v.size()==30) b=false; }

网站首页 | 网站地图
All rights reserved Powered by www.snrg.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com