㈠ 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,有的话,重新生成。