高分悬赏:Java语言如何生成10个互不相同的,1-10的随机数,每个数字只出现1次

高分悬赏:Java语言如何生成10个互不相同的,1-10的随机数,每个数字只出现1次

public class Test {
public static void main(String[] args) {
int arr[] = new int[10];//10个数的数组
for (int i = 0; i < arr.length; i++) {
//生产一个1-20的随机数
int index = (int)(Math.random() * 20 + 1);
arr[i] = index;//把随机数赋值给下标为数组下标为i的值

//(遍历数组中储存进去的值,i中有几个值则循环几次)
for (int j = 0; j < i; j++)
{
//把储存在数组中的值j 和 随机出的值i 做比较
if (arr[j] == arr[i])
{
i--; //数组的值下标-1,i的循环次数回到上次
break;
}
}
}
for (int i = 0; i < arr.length; i++)
{
System.out.print(arr[i] + " ");
}
}
}

package com.test;

import java.util.HashSet;
import java.util.Random;
import java.util.Set;

/**

  • Java语言如何生成10个互不相同的,1-10的随机数,每个数字只出现1次
  • @author zhanglei
  • @date 2020/03/27
    */
    public class Test5 {

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Set sets = new HashSet();
    Random r = new Random();
    while(sets.size()<10) {
    Integer next = r.nextInt(10);//
    if(!sets.contains(next)) {
    sets.add(next);
    }
    }
    //print
    int i=1;
    for(Integer item:sets) {
    System.out.println("第"+(i)+"个元素是:"+item);
    i++;
    }

    }

}
//console

第1个元素是:0
第2个元素是:1
第3个元素是:2
第4个元素是:3
第5个元素是:4
第6个元素是:5
第7个元素是:6
第8个元素是:7
第9个元素是:8
第10个元素是:9