如何将数字转换为其匹配的字母



如果我有数字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);

最新更新