我正在尝试将输入的字母变为数字。
例如,'A'需要等于0,'B'需要等于1,'C'需要等于2等等。
答案 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;
}