2013-10-18 80 views
2

我需要將char數組轉換爲字符串,這樣做的問題是......我需要將特定長度的char數組中的字符轉換爲字符串k。即字符數組爲「b」.b動態獲取數值.....例如現在採用「p,a,p,e,r,s」現在k值也是動態的,對於該字「k = 5」,然後只在4字符數組「b」的字符應當被轉換成字符串,...即字符串應「紙」 ........打印 代碼我現在有是將特定長度的char數組轉換爲字符串

for(int c=0;c<=k;c++) 
{ 
     System.out.print(b[c]); 
} 
str=new String(b); 
System.out.println(str); 

其中b[c]以「紙張」形式打印正確的值(以字符數組形式)。當轉換爲字符串str(在程序中),它打印爲「論文」本身....任何人都可以給我這個解決方案?

回答

7

您可以使用String不同的構造函數,可以讓你與起點和要使用的字符數沿着指定數組。

在你的情況,你會嘗試:

str = new String(b, 0, k); 
+0

感謝你的代碼...它工作時,我給作爲str =新Stirng(b,0,k + 1); – saranya

1
char newArr[] = new char[k]; 
for (int i = 0; i < k; i++) { 
    newArr[i] = b[i]; 
    System.out.print(b[i]); // print until the kth index 
} 

return new String(newArr); 
+0

感謝這個代碼.....但我需要打印,直到K值...所以我給了 「I <= K」 ... ..但這是行不通的....(progarm沒有運行)..... y這發生了嗎? – saranya

+0

我編輯了我的答案。如果你想打印直到第k個索引,那麼它應該是i

+0

例如,如果你有「論文」這個詞,並且你提供k = 6,它就不會運行,因爲沒有index:6的字符串。指數:5是最後一個指數。 –

相關問題