0

我有一个多维int数组。当用户选择一个特定数字时,我想在我的多维数组的第一列中找到该数字,一旦找到该数字,它将提取int该箭头上的所有值,以便我初始化构造函数。

这是我的数组:

int[][] enc_table = {{2, 9, 4}, 
{3, 16, 5}, 
{4, 22, 6}, 
{5, 29, 7},
{6, 35, 8},
{7, 42, 9},
{8, 48, 10},
{9, 55, 11},
{10, 61, 12},
{11, 68, 13},
{12, 75, 14},
{13, 81, 15},
{14, 88, 16},
{15, 94, 17}}; 

例如,如果用户输入 3,我将在第 0 列搜索“3”,当它找到时,我将自动提取“16”和“5”的值作为另一个int变量存储。我对多维数组不太熟悉,所以任何帮助都会有所帮助。我也一直在阅读HashSets 但没有成功地将它用于我的事业:(

4

2 回答 2

1

您需要遍历enc_table by row。然后,在每一行测试第一列中的元素是否等于您要查找的数字。如果是,请将其退回。

public int[] getRow(int searchNumber) {
    for (int i=0; i<enc_table.length; i++) {
        if (enc_table[i][0] == searchNumber) {
            return enc_table[i];    
        }
    } 
    return null;
}
于 2013-06-24T14:45:31.857 回答
0

将整行提取为int[]

int n = 3;
int[] match = null;

for (int[] row : enc_table) {
    if (row[0] == n) {
        match = row;
        break;
    }
}

最后, amatch表示从未在第一列中找到nulln

于 2013-06-24T14:45:49.897 回答