0

我的java代码有问题,基本上我想这样做;

char letter = 'a';
char convertedletter = letter + 5;
System.out.print(convertedletter);

输出应该是f,但我得到的输出是108。我怎么能把它变成一个f

4

3 回答 3

4

试试这个:

char letter = 'a';
char convertedletter;
convertedletter = (char) (letter + 5);
System.out.print(convertedletter);

运算符“+”用于添加数字或连接字符串,因为您使用的是一个 char(只有一个字符)和一个 int,除非您将它转换为您想要的字符,否则它将返回一个 int。

于 2012-03-06T11:50:13.953 回答
0

您应该在添加时进行投射。作为5整数,convertedletter转换为整数,因此输出为 108,因为 'a' 的 ascii 值为 103。

使用应该有

char convertedletter = (char) (letter + 5);

另请阅读以获取更多信息。

于 2012-03-06T11:56:36.133 回答
0

试试这个:

char convertedletter = (char) (letter + 5);
于 2012-03-06T11:57:10.120 回答