public static void main(String[] args) { int[] a = {1,2,3,4,5,6,7,8,9,10}; //原数组 int[] b = new int[a.length]; //新数组 for(int i=0;i<a.length;i++){ //随机生成下标范围依次减少1,又因为取出的元素会被从队尾依次往前放置,这样就能保证 不会再产生已经产生过的元素。 int ra = (int) (Math.random()*(a.length-i)); b[i] = a[ra]; //将取出的元素从队尾依次往前放置 int x = a[a.length-1-i]; a[a.length-1] = a[ra]; a[ra] = x; } //将数组以字符串形式输出 System.out.PRintln(Arrays.toString(b)); }
新闻热点
疑难解答