java做随机数组不重复
2023-01-10阅读(640)
问:JAVA中怎样实现数组中随机数不重复
- 答:可以参考下面的代码:
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 = 0; j < 100; j++) {
if (a[j] == s) {
break;
} else if (j == i) {
a[i] = s;
i++;
break;
}
}
}
}
扩展资料:
java参考函数
max(x,y) 返回 x 和 y 之间较大的数
min(x,y) 返回 x 和 y 之间较小的数
pow(x,y) 返回 y^x 的值
random() 返回位于 0 到 1 之间的随机函数
round(x) 四舍五进后与整
sin(x) 返回数字的正弦值
sqrt(x) 返回数字的平方根
tan(x) 返回一个角度的正切值
toSource() 显示对象的流代码
valueOf() 返回数教对象的本初值
参考资料来源:
问:Java如何让随机数不重复?
- 答:1.JAVA中生成随机数的方式 1、在j2se中使用Math.random()令系统随机选取一个0~1之间的double类型小数,将其乘以一个数,比如25,就能得到一个0~25范围内的随机数,这个在j2me中没有...
2.随机给定范围内N个不重复的数 1、方法一:最简单最易理解的两重循环去重 /** * 随机指定范围内N个不重复的数 * 最简单最基本的方法 * @param min 指定范围最小值 * @param max ... - 答:让随机数设置成选择不重复,完成操作后再确认
- 答:这个是你操作的时候该注意的细心一点儿就不会说。
- 答:记录并排除前面。。。。。。。。
问:java 产生随机不重复的数组
- 答:最简单(最快想到)的实现的实现方法:
首先创建一个数组,并为每个元素赋值-1;因为楼主要求从[0,n-1]中取数呀
其次for循环,随即取值依次填入数组中。
最后,在上面的for循环中加入判断语句,看随即产生的数 是否与之前的数相同,如不相同,则添加,如相同,则将循环数减一,再次循环。就OK了
代码如下:
public int[] RandNum(int m, int n) {
int[] arr=new int[m];
for(int i=0;i<m;i++){
arr[i]=-1;
}
Random random=new Random();
B:for(int i=0;i<m;i++){
int num=random.nextInt(n);
for(int j=0;j<i;j++){
if(arr[j]==num){
i--;
continue B;
}
}
arr[i]=num;
}
return arr;
}
当然还有其他思路,楼主可以自己开拓! - 答://实测高效精确
int[] RandomNum(int m,int n){
int[] v = new int[m];
boolean[] b = new boolean[n];
Random r = new Random();
do{
int x = r.nextInt(n);
if(!b[x]){
v[--m]=x;
b[x]=true;
}
}
while(m>0);
return v;
} - 答:so easy,可以给你提供很多种实现,需要了M我,在线