1.分析:
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。
和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder
的方法不是线程安全的(不能同步访问)。由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder
类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。
2.方法
对字符串添加新字符,可以直接调用StringBuilder:
StringBuffer buf=new StringBuffer(); //StringBuilder用法类似
如果需要转化为字符串继续其他操作,只需String一个str即可:
String str=buf.toString();
3.用法
- 例题一
把abcd…s共19个字母组成的序列重复拼接106次,得到长度为2014的串。
接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。
得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。
答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容。
代码:
public class Main{
public static void main(String[] args) {
StringBuffer buf=new StringBuffer();
for(int i=0;i<106;i++) {
buf.append("abcdefghijklmnopqrs");
}
while(buf.length()>1) {
for(int i=buf.length()-1;i>=0;i--) {
if((i)%2==0) buf.deleteCharAt(i);
}
}
String str=buf.toString();
System.out.println(str);
}
}