Java字符串到Char数组

问题描述 投票:0回答:2
String c="12345";
for(char k:c.toCharArray())
System.out.print(k+4);

该计划输出:5354555657

我真的不明白为什么这就是这些数字。我看到的唯一模式是它打印一个“5”然后从字符串中取“1”并加2来制作“3”。然后打印一个“5”然后从字符串中取“2”并加2以使“4”然后打印“5”,依此类推。

java arrays loops for-loop char
2个回答
1
投票

数组中的字符,当被提升为int以添加4时,会采用其基础Unicode值,其中ASCII values是子集。数字0-9分别由代码48-57表示。通过'1'的人物'5'是49-53,然后你加4并获得53-57。

添加之后,将总和投回到char,以便print可以将其解释为char

System.out.print( (char) (k+4));

输出:

56789

0
投票

这是因为你要为一个字符添加一个int(它将你的字符转换为int,然后将它添加到4,然后将其打印出来)。

你需要这样做:

System.out.println(Character.getNumericValue(k) + 4);
© www.soinside.com 2019 - 2024. All rights reserved.