首先让我告诉你,英语不是我的母语。我试图在这个网站上找到解决这个问题的方法,但我发现很难解释我在搜索框中寻找的内容。如果之前已经发布了解决方案,请原谅。
所以基本上我需要为array[x][1]
x = input.readString()
示例:
array [0][0] = "book";
array [0][1] = "lord of the rings";
x = "book";
当输入为“book”时,我现在需要一种找到“戒指之王”的方法。
编辑:请原谅我没有首先添加此内容。这是学校的作业,我需要使用数组,而不是使用哈希图,抱歉浪费你的时间
提前感谢。
更新
gekozenCat是输入(书) TERADENWOORDEN是数组,[0] [0] = book和[0] [1] =指环 类别=类别数量
我在这里做错了吗? String woordVanCat = woordBepalen (gekozenCat);
public String woordBepalen(String teBepalenWoordVanCat) {
for (int p = 0; p < CATEGORIES; p++)
if (TERADENWOORDEN[p][0].equals(teBepalenWoordVanCat))
return TERADENWOORDEN[p][1];
}
答案 0 :(得分:2)
在这种情况下,多维数组并不是最好的。使用Map,HashMap:
Map<String, String> map = new HashMap<String, String>();
map.put("book", "lord of the rings");
...
String book = map.get("book");
答案 1 :(得分:0)
试试这个:
String[][] array;
for (int i=0; i < array.length; i++)
if (array[i][0].equals("book"))
return array[i][1];
答案 2 :(得分:0)
听起来您应该使用HashMap
或Multimap
(found in Google's Guava library),具体取决于您要为每个输入找到唯一值还是多个值。
我相信这是您正在尝试做的正确的数据结构,而且它比搜索数组更具算法效率。
Map<String, String> m = new HashMap<String, String>();
m.put("book", "lord of the rings");
String out = m.get("book"); // returns "lord of the rings"
如果您正在获取数组中的输入,我会将数组的每一行填充到地图中以获得更有效的查找:
for(String[] row : array)
m.put(row[0], row[1]);
String out = m.get("book"); // returns "lord of the rings"