JAVA 如何产生四个不相等的随机个位数

2024-12-31 19:35:26
推荐回答(5个)
回答1:

最简单的方法是将产生出来的数字放到一个不允许重复的队列中去,这样就ok了,我给你简单的示范一下哈
import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
import java.util.Set;

public class RandomNumber {
public static void main(String[] args) {
Set set = new HashSet();
Random random = new Random();
while (set.size() < 4) {
set.add(random.nextInt(10));
}
Iterator it = set.iterator();
for(;it.hasNext();){
System.out.println(it.next());
}
}
}
绝对不会重复的
其他人的回答重复的可能性都有

回答2:

java中产生随机数可以使用Random对象产生随机数,并声明一个数组来存储产生的随机数。

具体代码如下:

public class Demo {
public static void main(String[] args) {
int[] a = new int[]{-1,-1,-1,-1};
Random random = new Random();
int count = 0;
while(count < a.length){
boolean flag = true;
int r = random.nextInt(10);
for(int i=0;i if(r == a[i]){
flag = false;
break;
}
}
if(flag){
a[count] = r;
System.out.println(r);
count++;
}
}
}
}
其中的变量flag用来标志产生的随机数是否已经存在,默认值设置为true,表示不存在,flase表示该随机数已经存在。

回答3:

package test;

public class test{
public static void main(String[] args)
{
int n = 4;//你说是4个
for(int i=0;i{
int a=(int)(Math.random()*10);//你说是个位数,我想是10以内的就是一位...
System.out.println(a);
}
}
}
也没啥麻烦..虽然我知道是自己想通个循环比较好...

回答4:

循环生成随机数,用一个数组来保存所生成的不同的数字。
判断新生成的和以前生成的是不是一样
如果不一样就保存在数组中,如果一样就重新循环获取随机数。
如果四个数都已经获得到,那么就退出循环

回答5:

这是数字组合问题,假设有M个数字,从中任意取出不重复N个组合,假设顺序有关的话,则可能的组合是:P (M,N)。
那么,结果的随机数应在此范围内,即:
K = Random.nextInt (P(M,N))