java向一数组中随机插入1-33的自然数(无重复)
JAVA是一门优秀的语言,我热爱它。
一路走来,人是有记忆遗忘周期的,回过头来搞了一下基础逻辑思想问题,却让自己陷入了凌乱中。好歹是搞出来了,不然也太丢人了。
算法分析:
1.生成随机数可以使用库函数rand();
2.将生成的随机数保存到数组中
3.在每次生成新的随机数,遍历已经存在的随机数,如果重复则放弃,重新生成。
代码实现:
public class Demo {
public static void main(String[] args) {
int[] redList = new int[6];
for (int i=0;i<redList.length;i++) {
int numRed = (int) (Math.random()*32)+1;
//当i=0时向数组添加第一个随机数
redList[i] = numRed;
for (int j=0;j<i;j++) {
//比较数组中是否有重复的随机数
if (redList[i] == redList[j]) {
//如果有重复的数字重新生成随机数存入数组,再次比较
i--;
break;
}
}
}
//打印数组中的数据
for (int j = 0; j < redList.length; j++) {
System.out.print(redList[j]+" ");
}
}
}