java中,如何⽤随机数赋值给⼀个数组,并且数组中的元素不能
够重复?
import java.util.Arrays;      //导⼊,⽤于排序,可不实⽤
import java.util.Random;  //导包 ,⽤于产⽣⼀个随机数
public class RondanArrays {
public static void main(String[] args) {
Random random = new Random();          //创建⼀个随机数对象,⽤于产⽣⼀个随机数
int[] arr = new int[10];              //创建⼀个数组对象,⾥⾯有50个元素,注意下标为(0-49]
for (int i = 0; i < arr.length; i++) {          //相当于遍历⼀个数组,⽤来对元素赋值操作
int a = Int(11);      //产⽣⼀个随机数,并保存到 a变量中,注意此随机数产⽣的范围为[0-10]
if(iscongfu(a, arr, i) != - 1){            //调⽤⽅法,如果次⽅法的返回值不是-1,证明这个随机数没有重复
arr[i] = a;                            //赋值将这个随机数存放到数组a[i]中;
}else{
i--;                                //否则,就将变量i--,注意:如果这个不加上,很有可能出现随机数重复就不对数组赋值,出现多个数组元素为0的情况
}
}
//Arrays.sort(arr);                            //当对⼀个⼤数组进⾏不重复随机数赋值的时候 ,可以排序,快速查看是否出现重复情况
for (int i = 0; i < arr.length ; i++) {      //遍历这个数组,打印输出测试是否重复
System.out.println(arr[i]);
}
}
public static int iscongfu(int r,int[] s ){    //此⽅法是判断数组⾥⾯的元素是否存在⼀个整数r
for (int i = 0; i <s.length ; i++) {
if(s[i]==r){怎么给数组赋值
return -1;                  //存在返值为-1
}
}
return r;                              //不存在返回值为r
}
public static int iscongfu(int r,int[] s ,int h){  //此⽅法重载了上述⽅法,此⽅法适⽤于初始化数组的赋值,运⾏效率较⾼
for (int i = 0; i <h ; i++) {
if(s[i]==r){
return -1;
}
}
return r;
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。