案例分析:随机数去重问题

    技术2022-07-10  119

    案例:得到10个1–20之间的随机数,要求不能重复,并将这10个数装入到数组中(提示:遇到重复的,则不存放到数组中,继续随机获取下一个数) 难点: 随机数去重:可封装成一个方法,用来判断生成的随机数是否已存在数组中 存值循环条件:生成的随机数有重复的情况,所以生成随机数的次数不固定, 循环条件可设数组存满即停 具体实现代码如下:

    public static void main(String[] args) { // 声明一个长度为10的数组 int[] sj = new int[10]; int num; int index=0; //数组存值 do { num = (int)(Math.random()*20+1); //判断生成的随机数是否存在,能否存入数组 if (panduan(sj, num)) { sj[index] = num; index++; } } while (sj[9]==0); //数组升序 Arrays.sort(sj); System.out.println(Arrays.toString(sj)); } //判断是否存在的方法 private static boolean panduan(int sj[],int num) { for (int i = 0; i < 10; i++) { //存在即返回 false if (sj[i]!=0&&sj[i]==num) { return false; } } //默认不存在,返回true return true; }

    如有不正之处还望指正!!!

    Processed: 0.024, SQL: 12