java向一数组中随机插入1-100的自然数(无重复)

2024-12-19 03:27:53
推荐回答(4个)
回答1:

java向一数组中随机插入1-100的自然数(无重复)

//将其插入进数组,插入的数字不能重复
public static void main(String[] args) {
      int n =100;//取值范围终点
      int[] array = new int[n];
      Random r = new Random(100);
      array[0] = 0;
      //循环遍历
      for(int i =0;i<100;i++){
        array[i] = r.nextInt(100)+1;
//array[i] = (int)(Math.random()*100+1);
        for(int j=0;j           if(array[i] == array[j]){
              i--;
              break;
           }
        }
      }
      for(int i=0;i<100;i++){
      //打印遍历
        System.out.print(array[i]+"  ");
      }
   }

回答2:

public class Num {
public static void main(String[] args) {
int min = 1;//取值范围起点
int max = 100;//取值范围终点
int count = 0;//计数
boolean flag = true;//判断该数在数组中是否已经存在
int num;//随机数
int[] array = new int[10];//定义一个长度为10的数组

while (count < 10) {
num = (int)((Math.random()*(max-min+1))+min);
flag = true; //假设数组内还没有这个随机数

for (int i=0; i if (array[i]==num) {
flag = false;//遍历这个数组,如果有值等于当前的随机数则设置为false
break;//已经存在了就没必要在继续循环了,break退出
}
}

if (flag) {//flag为true才会进入
array[count] = num;//把当前的随机数添加到数组中
count++;//每添加一个随机数count加1
}
}

//输出数组
for (int j=0; j System.out.print(array[j] + "\t");
}
}
}

正好闲着,给你写了!

回答3:

用Random

回答4:

用hashmap吧
public static void main(String[] args) {
int[] no = new int[100];
int n = 0;
HashMap hm = new HashMap();
while(n<100){
int a = (int)(Math.random()*100)+1;
if(null == hm.get(a)){
hm.put(a,a);
no[n] = a;
n++;
}
}
for(int b = 0 ; b<100 ;b++){
System.out.print(b+1+":"+no[b]+" ");
}
}