Java:获取数组项的下标

时间:2017-06-18 13:28:46

标签: java arrays

在Java中,我需要能够获取数组项的下标值。在一个sting数组中,字母[25]存储字母Z.如果我的用户输入Z,我需要将该下标值25作为整数(所以我可以稍后将其插入另一个包含其他相关数据的数组中)

我的数组字母[]有26个元素,基本上是A到Z,因此字母[0] = A等等。我有另一个包含整数值的数组(总共26个元素)。试图将字母转换为数字值。

3 个答案:

答案 0 :(得分:1)

通过获取ASCII码,可以将字符转换为数字。

int ascii = (int) character;

假设你的字符是小写的,你需要从结果整数中减去97,它将为你提供字母数组中字符的索引。

答案 1 :(得分:0)

要查找数组中元素的索引,可以使用二进制搜索:

//First, sort the array:
java.util.Arrays.sort(letters);
int indexOfZ = java.util.Arrays.binarySearch(letters, "Z");

请检查JavaDocs以查看未找到该值时的预期结果(它将为负数)。

答案 2 :(得分:0)

最简单的方法(很多)之一是使用String,它已经有内部数组。你需要这个代码:

 public int indexOfLetter(String letter) {
    String alphabet = "abcdefghijklmnopqrstuvwxyz";
    int index = alphabet.indexOf(letter.toLowerCase());
    if (index == -1) {
        throw new RuntimeException("letter not found");
    }
    return index;
}

示例:

System.out.println(indexOfLetter("z")); // 25
System.out.println(indexOfLetter("Z")); // 25