-1

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

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

4

6 回答 6

6

请按照以下思路思考:

如果你减去'A''A'你得到0。如果你减去'A''B'你得到1。如果你减去'A''C'你得到2。等等。

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

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

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

于 2013-01-12T17:00:59.213 回答
0
    String letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

    char input = 'e';

     int indexVal = letters.indexOf(Character.toUpperCase(input));
于 2013-01-12T17:01:43.340 回答
0

您可以将您char转换为int, 并减去 的值(int) 'A'。像这样 :

char z = 'Z'
int number = (int) z - (int) 'A';
于 2013-01-12T17:04:04.507 回答
0

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

扩展我的评论,你可以这样做。

int aAsciiValue = (int)'a';
char input = however you get your input;
int result = (int)input - aAsciiValue;
于 2013-01-12T17:04:15.137 回答
0

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

于 2013-01-12T17:04:38.077 回答
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;
}
于 2013-01-12T17:10:30.000 回答