我在尝试从Java中的2D int数组中获取特定项的索引时遇到了问题。
所以这就是我所拥有的......
private int[][] mobPoints = {
{9300127,2},{9300128,2},{9300129,2},{9300130,3},{9300131,3},
{9300132,3},{9300133,3},{9300134,4},{9300135,4},{9300136,5}};
每个阵列中的第一个数字是怪物识别号码,第二个数字是它值得的点数。我希望它如何工作是当一个玩家杀死一个暴徒时,服务器检测到并通过一个方法发送它,该方法用一个暴徒值得的点数增加一个变量。例如:
public void addPoints(int mobid) {
}
我遇到的麻烦是使用给定的mobid并检索它值得的值。我不想使用HashMaps或ArrayLists,因为我似乎无法预定义它们(我必须创建一个新的ArrayList,然后在创建时添加每个值)。
答案 0 :(得分:3)
如果您希望代码可以扩展并保持高效,则可能需要尝试使用sh -c "cd /dbdata && tar xvf /backup/backup.tar"
。
HashMap<Integer, Integer>
答案 1 :(得分:1)
这将完成工作....
public void addPoints(int mobid) {
// create a boolean to know if key has been found
boolean found = false;
// iterate over first column of your matrix array
for (int c = 0; c < mobPoints.length; c++) {
// if the key still not found and is equal first column value
if (!found && mobPoints[c][0] == mobid) {
// add points or do your stuff
System.err.println("Value = " + mobPoints[c][1]);
// mark as found
found = true;
}
}
if (!found) {
// not found error
}
}