如果我有数字1,并且它是用户提交的,会不会有一个java函数将其转换为A?与 B 类似,如何将其转换为 2(相反)?
你可以创建一个包含字母表所有字母的数组,然后得到这样的字母:
数组字母
表int inputNumber = -input-
有了这个,你就会得到你的信:
alphabet[inputNumber-1]
您需要使用 ASCII 值。例如,A 的值为 65,B 的值为 66,依此类推。因此,您将进入输入并向其添加 64 以获得相应的字符。我建议通过 ASCII 值。
这可能会解决您的问题:
public static void main(String[] args) {
System.out.println("1: " + numberToLetter(1));
System.out.println("26: " + numberToLetter(26));
System.out.println("a: " + letterToNumber('a'));
System.out.println("z: " + letterToNumber('z'));
}
public static char numberToLetter(int number) {
return (char)((byte)number+(byte)96);
}
public static byte letterToNumber(char letter) {
return (byte)((byte)letter - (byte)96);
}
希望对你有帮助...
每个字符都有一个关联的数值。大写字母与小写字母不同,符号也具有数值。要查找字符的数值,只需检查 ASCII 表。或使用:
char thisChar = 'A';
int charValue = (int) thisChar; // returns 65
char thisChar = 'a';
int charValue = (int) thisChar; // returns 97
长话短说,莫甘诺的评论是正确的。在这种情况下,正确的行是:
// save user input as int number
char letter = (char)(number + 64);