随机生成10个不重复的1-20之间的随机数

思路:
利用Math.random()方法获取随机数,把随机数赋值到数组当中,再遍历数组,把随机出来的值,和遍历出数组中的每个值作比较,如果相等就把for循环次数 i– 回到上一次循环,再把下一个循环出来的值赋值给上一个循环重复的值(通过在次赋值的方式,去掉数组中重复值的)。

    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] + " ");
            }
        }
    }

你可能感兴趣的:(不重复随机数,Java,指定条件随机数)