如何把一个有序的数组,转化成无序的数组.比如有一个数组,
private static int mNumber[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 };
怎么样把它转化成无序的。急呀,谢谢。
import java.util.Random;public class ArrayA {
private static int mNumber[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 }; private static int newMemoryNumber[] = new int[18]; private static Random random = new Random(); public static void main(String[] args) {
for (int i = 0; i < mNumber.length; i++) {
// for (int j = 0; j < newMemoryNumber.length; j++) { int m = mNumber[random.nextInt(mNumber.length)];
System.out.println("m:" + m + ":" + i + " Mal"); for (int j = 0; j < i; j++) {
if (newMemoryNumber[j] != m) {
newMemoryNumber[i] = m;
}
} // System.out.println(newMemoryNumber[i]);
// }
// newMemoryNumber[i] = mNumber[random.nextInt(mNumber.length)];
System.out.println(newMemoryNumber[i]);
}
}}

解决方案 »

  1.   

    ArayList 和 Random 配合使用:
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Random;public class RandomizeArray {    /**
         * @param args
         */
        public static void main(String[] args) {
            int[] sorted = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };        // 将数组内容放入 ArrayList
            ArrayList sortedList = new ArrayList();
            for (int i = 0; i < sorted.length; i++) {
                sortedList.add(new Integer(sorted[i]));
            }        // 使用随机数
            Random rnd = new Random(System.currentTimeMillis());
            ArrayList randomizedList = new ArrayList();
            for (int i = 0; i < sorted.length; i++) {            // 随机从 sortedList 中抽取一个元素放入 randomizedList
                int index = rnd.nextInt(sorted.length - i);
                randomizedList.add(sortedList.get(index));            // 从 randomizedList 中去掉被抽取的元素,以免下次再被抽到
                sortedList.remove(index);
            }        System.out.println(randomizedList);
        }}
      

  2.   

    YidingHe(机枪兵) ( ) 信誉:100    Blog  的思路有点意思。
      

  3.   

    注释有一点点写错了:
    // 从 randomizedList 中去掉被抽取的元素,以免下次再被抽到
    应该是
    // 从 sortedList 中去掉被抽取的元素,以免下次再被抽到