java初学者,求解数组问题
小弟刚学java请教一下。
现在我有两个数组a[],b[].我想
把b[]中的值加到a[]后面,
然后再在后面加上{"china"},
然后再在后面加上String c的最后3位。
应该怎么写?请指点一下。
问题点数:20、回复次数:5Top
1 楼g58521547(我是菜鸟)回复于 2004-11-02 18:23:25 得分 0
先把你的两个数组类型说清楚啊!Top
2 楼LightSun1003(东大农民工)回复于 2004-11-02 18:29:54 得分 0
byte 的谢谢Top
3 楼schee(星河)回复于 2004-11-03 11:51:20 得分 0
用StingBuffer好些.Top
4 楼jamesfancy(▲) 边城狂人 <Java|C++] (★)回复于 2004-11-03 12:14:14 得分 20
char[] a = .......;
char[] b = ......
char[] t = a;
a = new char[a.length + b.length]
System.arraycopy(t, 0, a, 0, t.length);
int i = t.length;
for (int i = t.length, j = 0 ; j < b.length; ++i, ++j) {
a[i] = b[j];
}
.............
再往后加字符串是一样的道理,首先扩充数据大小,再拷贝原数组内容过去,再往后面的空间加东西。
如果你能一次把大小申明足够,就不过扩展那么麻烦了
如果像这样处理字符,还不如用 StringBuffer 方便
StringBuffer buffer = new StringBuffer();
buffer.append(a);
buffer.append(b);
buffer.append("china");
buffer.append(c, c.length() - 3, 3);
a = buffer.toString().toCharArray();Top
5 楼jackkui(键 之 舞 者)回复于 2004-11-03 12:19:33 得分 0
new String(a,"UTF-8") + new String(b,"UTF-8") + "china" + c.substring(c.length()-3);
这样得到的String就是你要的。当然你可以改变一下编码方式Top




