2014-10-31 121 views
1

我正在使用toCharArray方法將字符串轉換爲字符型數組,但每次我嘗試打印數組時,都會打印數字而不是存儲在字符串中的字符。當我打印字符串時,字符被打印得很好。在JAVA中將字符串轉換爲字符數組

char[] nArray = capitalizedSentence.toCharArray(); 

     for (int i = 0; i < nArray.length; i++) 
     { 
      System.out.println(nArray[i] + '\n'); 
     } 

例: 如果我capitalizedSentence字符串的值「薩阿德」,當我將其轉換爲字符數組,並打印,將打印以下內容:

93 
75 
75 
78 

有人可以幫我以便它打印存儲在大寫字母字符串中的單個字符?

+0

字符類toString()實現可能會打印數值。你有一個char數組。 – sturcotte06 2014-10-31 02:27:54

+0

我該如何解決? – user3526197 2014-10-31 02:28:29

+0

我希望它分開打印字符串中的單個字符。 – user3526197 2014-10-31 02:29:39

回答

3

nArray[i]char; '\n'常數也是如此。字符是一個無符號的整型,所以字符以與所有整數相同的方式加在一起 ​​- 數字。當一個加法發生時,你最終得到一個int,而不是一個char,因此調用println產生一個數字結果。

刪除+ '\n'將解決此問題。你會從println得到一個換行符,所以所有的字符都會出現在一個新行中。

Demo.

+0

您的解釋要好得多。 – 2014-10-31 02:32:08

1

更換'\n'"\n"

爲什麼?由於編譯器看到您將2個字符一起添加到編譯器charint原始數據類型被認爲是可以互換的,所以+實際上將2個int值加在一起。使用雙引號將告訴編譯器您正在向字符添加字符串。

1

我認爲這會幫助你。用於每個循環

char[] nArray = capitalizedSentence.toCharArray(); 
for(Character c: nArray){ 
    System.out.println(c); 
}