Java基础编程题目——利用随机函数产生多个不重复整数

利用随机函数产生 20 个 10~90 之间的不重复整数。
将这些数拼接在一个字符串中,用逗号隔开。
每产生一个新数,要保证在该字符串中不存在。
最后将串中的整数分离存放到一个数组中,将数组的内容按由小到大输出。

import java.util.*;

public class Randoms {
    public static void main(String[] args) {
        Random random = new Random();

        //生成随机数存入set保证不重复
        int n = 0;
        Set num1 = new HashSet();
        for(int i = 0; num1.size() < 20; i++) {
            n = 10 + random.nextInt(81);
            num1.add(n);
        }

        //先将set转为list,再将list的元素拼接到字符串
        String strs = "";
        List list = new ArrayList(num1);
        for(int i = 0; i < list.size(); i++) {
            if (i != list.size() - 1)
                strs += (list.get(i) + ",");
            else
                strs += (list.get(i));
        }

        //将字符串中的数字存入数组
        String [] num2 = strs.split(",");
        int [] num3 = new int[num2.length];
        for(int i = 0; i < num2.length; i ++) {
            num3[i] = Integer.parseInt(num2[i]);
        }

        //排序并遍历数组,输出数字
        Arrays.sort(num3);
        System.out.println("个数为:" + num3.length);
        for(int i = 0; i < num3.length; i ++) {
            System.out.print(num3[i] + " ");
        }
    }
}

你可能感兴趣的:(Java编程题目)