2D字母数组合索引数组

时间:2013-05-21 01:31:16

标签: java matrix indexing spreadsheet

我无法创建一个以字母和数字组合作为索引的二维矩阵。

通常使用array[0][1]array[3][2]访问数组。如何使用array[A][1]array[D][2]等字母查找数组?它还应该使用与用户期望的一样多的字母。例如,用户想要10行,因此我们有array[J][1,2,etc.]

3 个答案:

答案 0 :(得分:0)

您可以将char转换为索引,如:

char x = ...;
int index = x-'A';
array[index][3]

答案 1 :(得分:0)

如果你想用A或D专门索引,而不是保存这些值的索引,那通常是通过制作“类常量”来完成的。还有其他方法,例如使用枚举,我不会在这里讨论,但如果他们感兴趣,请查看它们。

在java中,类常量指定如下。

public static int A = 0;    
public static int B = 1;
...
public static int Z = 25;

从这里,您可以准确地索引您在问题中的写作方式。

int value = array[A][1]; // which means array[0][1]

答案 2 :(得分:0)

听起来你想要一个关联数组的接口。有没有理由说地图不适合这个问题? TreeMap将按字母顺序迭代并保留索引的ABC顺序。

Map<String, int[]> map = new TreeMap<String, int[]>();
map.put("A", new int[]{1,2,3,4,5});