[英]how to delete a specific row and column in an array (java)
我需要刪除二維數組中存在最大值的行和列,請建議如何操作。 這是一個必須刪除特定行和列的數組。 我想這里可以使用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;
}
}
}
}
}
要從像您這樣的二維數組中刪除第i
行,首先創建一個新的二維數組,該數組的元素短一個元素(在您的示例中為 4 而不是 5)。 將行0
到i - 1
和行i + 1
到originalTable.length - 1
復制到新數組中。
編輯:當maxValue
在最后一行時(如果我沒記錯的話,就像這里一樣)因此最后一行要被刪除,這當然更容易一些,因為沒有行i + 1
到originalTable.length - 1
到復制。
刪除列j
與表的每個內部數組類似。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.