我使用toCharArray方法将字符串转换为char类型的数组,但每次我尝试打印数组时,都是打印数字而不是字符串中存储的字符。当我打印字符串时,字符打印得很好。
char[] nArray = capitalizedSentence.toCharArray();
for (int i = 0; i < nArray.length; i++)
{
System.out.println(nArray[i] + '\n');
}
实施例: 如果我的capitalizedSentence字符串具有值“Saad”,当我将其转换为字符数组并打印它时,它将打印以下内容:
93
75
75
78
有人可以帮助我,以便它打印存储在capitalizedSentence字符串中的各个字符吗?
答案 0 :(得分:3)
nArray[i]
是char
; '\n'
常数也是如此。字符是无符号整数类型,因此字符以与所有整数相同的方式加在一起 - 数字。如果发生添加,最终会得到int
,而不是char
,因此调用println
会产生数字结果。
删除+ '\n'
将解决问题。您将从println
获得换行符,因此所有字符都会显示在新行上。
答案 1 :(得分:1)
将'\n'
替换为"\n"
为什么呢?因为编译器看到你一起添加2个字符,所以编译器char
和int
原始数据类型被认为是可互换的,因此+
实际上是将2个int值一起添加。使用双引号将告诉编译器您正在为字符添加字符串。
答案 2 :(得分:1)
我认为这会对你有所帮助。使用for-each循环
char[] nArray = capitalizedSentence.toCharArray();
for(Character c: nArray ){
System.out.println(c);
}