如何删除数组中的特定行和列(java)

时间:2017-01-14 10:51:50

标签: java arrays arraycopy

我需要删除存在2d数组中最大值的行和列,请建议如何操作。 这是一个必须删除特定行和列的数组。我想这里可以用aaraycopy

import java.util.Scanner;

public class Test{
    public static void main (String[] args){
        int maxValue=0;
        int[][] multiplyTab  = new int[5][10];
        int row = 0;
        int column=0;
        for (int i = 0; i < multiplyTab.length; i++) {
            for (int j = 0; j <multiplyTab[i].length ; j++) {
                multiplyTab[i][j] =((i+1)*(j+1)); 
                System.out.print(multiplyTab[i][j] + "\t");
            }
            System.out.println();
        }
        for (int i = 0; i < multiplyTab.length; i++) {
            for (int j = 0; j < multiplyTab[i].length; j++) {
                if (multiplyTab[i][j] > maxValue) {
                    maxValue = multiplyTab[i][j];
                    row=i;
                    column=j;
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

要从像您这样的2D数组中删除行i,首先要创建一个短的一个元素的新二维数组(在您的示例中为4而不是5)。将行0i - 1和行i + 1originalTable.length - 1复制到新数组中。

编辑:当maxValue在最后一行时(如果我没有记错的话,这里),因此最后一行将被删除,因为没有行{{1通过i + 1复制。

要删除列originalTable.length - 1,请执行表格的每个内部数组。