我需要删除存在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;
}
}
}
}
}
答案 0 :(得分:0)
要从像您这样的2D数组中删除行i
,首先要创建一个短的一个元素的新二维数组(在您的示例中为4而不是5)。将行0
至i - 1
和行i + 1
至originalTable.length - 1
复制到新数组中。
编辑:当maxValue
在最后一行时(如果我没有记错的话,这里),因此最后一行将被删除,因为没有行{{1通过i + 1
复制。
要删除列originalTable.length - 1
,请执行表格的每个内部数组。