Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多个二维阵列_Java_Arrays - Fatal编程技术网

Java 多个二维阵列

Java 多个二维阵列,java,arrays,Java,Arrays,假设我们有一个未指定维度的2D数组,我想创建一个方法来生成数组的倍数,这样这个方法: 平铺(int[][]列表,int行,int列){ ... } 将给我数组按int列水平展开,按int行垂直展开 你怎么能这样做?我的尝试是: public static int[][] tile(int[][] list, int row, int column) { int [][] renewed = new int[row*(list.length)][column*(list[0].length

假设我们有一个未指定维度的2D数组,我想创建一个方法来生成数组的倍数,这样这个方法:

平铺(int[][]列表,int行,int列){ ... }

将给我数组按int列水平展开,按int行垂直展开

你怎么能这样做?我的尝试是:

public static int[][] tile(int[][] list, int row, int column) {
    int [][] renewed = new int[row*(list.length)][column*(list[0].length)];

        for (int i = 0; i<list.length; i++) {
        for (int j = 0; j<renewed.length; j+=row) {
           renewed[j] =list[i];
        }
    }
公共静态int[][]平铺(int[][]列表,int行,int列){
int[][]续订=新int[row*(list.length)][column*(list[0.length]);
对于(int i=0;i请尝试以下方法:

int [][] list={{12,3},{4,6}};
    //loop through each array in the 2d array
    for(int x=0;x<list.length;x++){

            //make copy of array
            int[] listcopy=list[x].clone();
            //expand length of array by one
                    list[x]=new int [listcopy.length+1];
                    list[x][list.length-1]=0;
            for(int p=0;p<listcopy.length;p++){
                //copy each index to new array
                list[x][p]=listcopy[p];
            }

    }
    //make copy of 2d array
    int[][] listcopy=list.clone();
    //expand length of 2d array by 1
    list=new int[listcopy.length+1][];
    list[list.length-1]=new int[1];
    //assign values to the 2d array
    for(int x=0;x<listcopy.length;x++){
        list[x]=listcopy[x];
    }
int[]list={{12,3},{4,6};
//循环遍历二维数组中的每个数组

出于(int x=0;xAny)原因,这被标记为JavaScript?为什么要执行list copy.length+1?然后设置list[x][list.length-1]到0?要扩展数组,我认为这就是问题的意思。另外,如果您扩展数组并且没有为新索引设置值,您可能会得到空指针异常。抱歉混淆。通过扩展,我的意思是如果初始数组是{12,3}{4,6},行是2,列是3,该方法将生成{12,3,12,3,3}{4,6,4,6}{12,3,12,3,12,3}{4,6,4,6,4,6}。嗯..难道不应该只有{12,3,12,3,3}{4,6,4,6,4,6},因为只有两行吗?