如何在Java中使字母等于索引号?

时间:2013-01-12 16:57:40

标签: java

我正在尝试将输入的字母变为数字。

例如,'A'需要等于0,'B'需要等于1,'C'需要等于2等等。

6 个答案:

答案 0 :(得分:6)

按照以下思路思考:

如果从'A'中减去'A',则会获得0。如果您从'A'中减去'B',则会获得1。如果您从'A'中减去'C',则会获得2。等等。

它能给你任何模式吗?您可以使用此模式创建公式。

试试自己。发现一个公式!

由于它似乎是作业,我不会给你完整的答案。 : - )

答案 1 :(得分:0)

    String letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

    char input = 'e';

     int indexVal = letters.indexOf(Character.toUpperCase(input));

答案 2 :(得分:0)

您可以将char投射到int,然后减去(int) 'A'的值。 像这样:

char z = 'Z'
int number = (int) z - (int) 'A';

答案 3 :(得分:0)

所有字符都有一个int值,即它们的ASCII值。您可以将一个char转换为int来获取该值(并将一个int转换为char来反转它)。

根据我的评论,您可以这样做。

int aAsciiValue = (int)'a';
char input = however you get your input;
int result = (int)input - aAsciiValue;

答案 4 :(得分:0)

可以使用HashMap。在它之前准备字符之间的“关联” - 它的索引

答案 5 :(得分:0)

public int letterToNumber(String letter) {
int letterNumber = letter.toLowerCase().toCharArray()[0] - 'a' + 1;
if (letterNumber < 1 || letterNumber > 26) {
    return 0;// Not a letter from a-z
}
return letterNumber;
}