0

如果我有数字 1,并且它是用户提交的,是否会有一个 java 函数将它变成 A?与B类似,我如何将其变成2(相反)?

4

4 回答 4

2

你可以创建一个包含所有字母的数组,然后得到这样的字母:

数组字母表

int inputNumber = -input- 

有了这个,你会收到你的信:

alphabet[inputNumber-1]
于 2015-04-10T20:52:51.360 回答
0

每个字符都有一个关联的数值。大写字母与小写字母不同,符号也有数值。要查找 char 的数值,只需检查 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);
于 2015-04-10T21:10:32.770 回答
0

您需要使用 ASCII 值。例如,A 的值为 65,B 的值为 66,依此类推。因此,您将进入输入并添加 64 以获取相应的字符。我建议通过 ASCII 值。

于 2015-04-10T20:54:26.490 回答
0

这可能会解决您的问题:

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);
}

希望能帮助到你...

于 2015-04-10T20:59:11.837 回答