如果我有一個方法接受一個int [] [],要刪除的行號和要刪除的列號,我將如何從Array刪除該特定的行和列並返回新的減少的數組?如何從Java中的二維數組中刪除特定的行和特定的列?
我想通過除了要刪除的行/列之外的任何東西來做到這一點,然後將其放入兩個臨時ArrayList中,然後構造一個新的Array以從兩個Array中的值中返回。我想我可以刪除特定的行,但我不知道如何刪除列。
如果我有一個方法接受一個int [] [],要刪除的行號和要刪除的列號,我將如何從Array刪除該特定的行和列並返回新的減少的數組?如何從Java中的二維數組中刪除特定的行和特定的列?
我想通過除了要刪除的行/列之外的任何東西來做到這一點,然後將其放入兩個臨時ArrayList中,然後構造一個新的Array以從兩個Array中的值中返回。我想我可以刪除特定的行,但我不知道如何刪除列。
我認爲最好的辦法是創造
int[xsize-1][ysize-1]
一個新的陣列有一個嵌套的for循環,從源數組複製到目標。並跳過特定我和Ĵ
static void TestFunction()
{
int rows = 5;
int columns = 6;
int sourcearr[][] = new int[rows][columns];
int destinationarr[][] = new int[rows-1][columns-1];
int REMOVE_ROW = 2;
int REMOVE_COLUMN = 3;
int p = 0;
for(int i = 0; i < rows; ++i)
{
if (i == REMOVE_ROW)
continue;
int q = 0;
for(int j = 0; j < columns; ++j)
{
if (j == REMOVE_COLUMN)
continue;
destinationarr[p][q] = sourcearr[i][j];
++q;
}
++p;
}
}
看起來不錯,但是sourcearr [i] [j] = 10 * i + j的目的是什麼;「線? – DrBaus
只是一些測試數據..僅此而已......你的sourcearr將有輸入數據,所以請忽略它 –
你需要p和q變量嗎? –
我想刪除這兩個3兩列,該指數2,如何實現它下?
public class For_petlja {
public static void main(String[] args) {
int[][] niz = {
{9, 2, 3, 6, 7},
{4, 7, 3, 5, 1}
};
int j;
for (int i = 0; i < niz.length; i++) {
for (j = 0; j < niz[i].length; j++) {
if (i == 2) {
continue;
}
} // for 'j'
System.out.println(Arrays.toString(niz[j]));
} // for 'i'
} // main method.
} // class
如果我理解這個權利,不能你分配大小爲int的新數組[M-1] [N-1],然後通過原來,複製過的元素迭代但跳過行/列你想刪除? –