String[]
str={"wish","education","welcome","you"};
StringBuffer
buf=new
StringBuffer();
for(String
s
:
str)
buf.append(s);
System.out.println("连接成句:"+buf.toString());
append有红线是因为append()里传的参数是一个String的值,而你放在里面的是一个String类型的数组。
你应该先把数组里的值循环append到一个StringBuffer的buf对象里面然后在打印就可以了。
先写代码,然后解释:
StringBuffer buf=new StringBuffer();
String[] str={"wish","education","welcome","you"};
for(int i = 0; i < str.length(); i++){
buf.append(str[i]);
}
以上就是正确的代码,说明一下你为什么报错,因为这个缓冲字符串StringBuffer构造出来的时候不能传数组的,只能传String类型。
另外提醒下楼主,如果单纯我这样输出,每个单词之间是没有空格的,因此你可以这样,
把buf.append(str[i]); 改成 buf.append(str[i]).append(" ");
这样就好了。
可以利用java中的工具类将数组转换成字符串,String s = Arrays.toString(str);这样比较简单,如果要StringBuffer的话,可以new StringBuffer(s);
StringBuffer( string str) . 这个构造函数里面放的是字符串,而不是字符串数组。
9/5x=54x=25甲是54-25=29