将一维数组打乱放入二维数组中

需求:把一个一堆数组中的数据:0-15打乱顺序,然后再按照4个一组的方式添加到二维数组当中

package Puzzlegame.com.wxj.test;

import java.util.Random;

public class Test {
    public static void main(String[] args) {
        //需求:
        //把一个一堆数组中的数据:0-15打乱顺序
        //然后再按照4个一组的方式添加到二维数组当中
        //1.定义一个数组
        int []tempArr={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
        //2.打乱数组中的数据顺序
        //遍历数组,得到每一个元素,拿着每一个元素跟随机索引上的数据交换
        Random r=new Random();
        for (int i = 0; i < tempArr.length; i++) {
           //获取到随机索引
int index=r.nextInt(tempArr.length);
//拿着遍历到的每一个数据,跟随机索引上的数据进行交换。
       int temp=tempArr[i];
       tempArr[i]=tempArr[index];
       tempArr[index]=temp;
        }
        //3.遍历数组
        for (int i = 0; i < tempArr.length; i++) {
            System.out.print(tempArr[i]+" ");
        }
        System.out.println();
        //4.创建一个二维数组
        int [][] data=new int[4][4];
        //5.给二维数组添加数据
        //解法一
        //遍历一维数组tempArr得到每一个元素,把每一个元素依次添加到二维数组中
        for (int i = 0; i < tempArr.length; i++) {
           data[i/4][i%4]=tempArr[i];
        }
        //遍历二维数组
        for (int i = 0; i < data.length; i++) {
            for (int j= 0; j < data[i].length; j++) {
                System.out.print(data[i][j]+" ");
            }
            System.out.println();
        }
    }
}
package Puzzlegame.com.wxj.test;

import java.util.Random;

public class Test2 {
    public static void main(String[] args) {
        //需求:
        //把一个一堆数组中的数据:0-15打乱顺序
        //然后再按照4个一组的方式添加到二维数组当中
        //1.定义一个数组
        int []tempArr={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
        //2.打乱数组中的数据顺序
        //遍历数组,得到每一个元素,拿着每一个元素跟随机索引上的数据交换
        Random r=new Random();
        for (int i = 0; i < tempArr.length; i++) {
           //获取到随机索引
int index=r.nextInt(tempArr.length);
//拿着遍历到的每一个数据,跟随机索引上的数据进行交换。
       int temp=tempArr[i];
       tempArr[i]=tempArr[index];
       tempArr[index]=temp;
        }
        //3.遍历数组
        for (int i = 0; i < tempArr.length; i++) {
            System.out.print(tempArr[i]+" ");
        }
        System.out.println();
        //4.创建一个二维数组
        int [][] data=new int[4][4];
        //5.给二维数组添加数据
        //解法二
        //遍历二维数组,给里面的每一个数据赋值
        int index=0;
        for (int i = 0; i < data.length; i++) {
            for (int j= 0; j < data[i].length; j++) {
                data[i][j]=tempArr[index];
                index++;
            }
        }
        //遍历二维数组
        for (int i = 0; i < data.length; i++) {
            for (int j= 0; j < data[i].length; j++) {
                System.out.print(data[i][j]+" ");
            }
            System.out.println();
        }
    }
}

你可能感兴趣的:(java,算法,数据结构)