JAVA中把字符串变成字符串数组之后,如何把字符串数组中的每个字符都循环输出并且发送

为何下面的代码值只发送最后一个s的最后一个字符的对应的ASCII码的值,其他字符如何一起拼接输出
s=TextField.getText();
public void write(String s)
{

int[]arr=new int[s.length()];
for(int i=0;i<s.length();i++)
{
arr[i]=s.charAt(i);

buffer=new StringBuffer("发送数据:"+arr[i]+"\n");
textarea.append(buffer.toString);
}

你要在for循环之外new一个StringbBuffer的对象。在for循环里面再用append拼接才行。
你现在这个代码是每一个char都new成一个新的StringBuffer对象,但是因为你每次new的时候都是用同一个变量接收的,所以导致你在for完成之后也只有一个StringBuffer对象并且这个对象存的是你的最后一个Char。这样输出的肯定只有最后一个追问

大神。for语句里面的字符拼接代码怎么写啊

追答public void write(String s) {
    int[]arr=new int[s.length()];   
    StringBuffer buffer = new StringBuffer();
    for(int i=0;i<s.length();i++){
        arr[i]=s.charAt(i);
        buffer.append("发送数据:"+arr[i]+"\r\n");
    }
    textarea.append(buffer.toString);
}

追问

textarea.append(buffer.tostring)中的buffer访问不到for循环语句里的buffer 啊

追答

你要访问的不是for里面的buffer,而是for外面的buffer。
你没仔细看我代码吗?
我将buffer声明到for外面,然后在for里面是对这个buffer进行值的添加。for里面给buffer添加好值之后再外面再用的时候这个buffer已经换了。

你先试试我的代码然后就知道了。

温馨提示:答案为网友推荐,仅供参考
相似回答