在Java中,我需要能够获取数组项的下标值。在一个sting数组中,字母[25]存储字母Z.如果我的用户输入Z,我需要将该下标值25作为整数(所以我可以稍后将其插入另一个包含其他相关数据的数组中)
我的数组字母[]有26个元素,基本上是A到Z,因此字母[0] = A等等。我有另一个包含整数值的数组(总共26个元素)。试图将字母转换为数字值。
答案 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