繁体   English   中英

Java String to Char Array

[英]Java String to Char Array

String c="12345";
for(char k:c.toCharArray())
System.out.print(k+4);

该程序输出:5354555657

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

数组中的字符在添加4被提升为int时,将采用其基础Unicode值,其中ASCII值是其中的一个子集。 数字0-9分别由代码48-57表示。 字符'1''5'是49-53,然后您将4加到53-57。

添加后,将总和转换回char以便print可以将其解释为char

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

输出:

56789

这是因为您要在一个字符上添加一个整数(它将字符转换为一个整数,然后将其添加到4,然后将其打印出来)。

您需要做:

System.out.println(Character.getNumericValue(k) + 4);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM