簡體   English   中英

如何刪除數組中的特定行和列(java)

[英]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)。 將行0i - 1和行i + 1originalTable.length - 1復制到新數組中。

編輯:當maxValue在最后一行時(如果我沒記錯的話,就像這里一樣)因此最后一行要被刪除,這當然更容易一些,因為沒有行i + 1originalTable.length - 1到復制。

刪除列j與表的每個內部數組類似。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM