4

我需要将 char 数组转换为字符串,这样做的问题是......我需要将特定长度的 char 数组中的字符转换为字符串,例如 k。即,char 数组是“b”。b 动态取值.....例如取值为“p,a,p,e,r,s”现在 k 值也是动态的,对于这个词“k=5”,然后char数组“b”中只有4个字符应该转换为字符串......即字符串应该打印为“paper”............我现在拥有的代码是

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

其中将b[c]正确的值(在 char 数组中)打印为“纸”。在转换为字符串str(在程序中)时,它本身会打印为“论文”......谁能给我解决方案?

4

2 回答 2

8

您可以使用不同的构造函数来String指定数组以及要使用的起始点和字符数。

在你的情况下,你会尝试:

str = new String( b, 0, k );
于 2013-10-18T04:57:43.590 回答
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);
于 2013-10-18T04:57:35.953 回答