欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

StringBuffer

程序员文章站 2022-04-23 14:10:31
...

1、StringBuffer对象的初始化

通常情况下一般使用构造方法进行初始化

例如:

StringBuffer sb = new StringBuffer();        //初始化对象为空

StringBuffer sb = new StringBuffer(“abc”);   //初始化对象是字符串”abc”

注意:

StringBuffer和String属于不同的类型,不能直接进行强制类型

StringBuffer sb = new StringBuffer(s);   //String转换为StringBuffer

String s = sb.toString();              //StringBuffer转换为String

2、StringBuffer常用方法

  • append():字符串末尾连接字符
  • deleteCharAt(int index):删除指定位置字符
  • setChatAt(int index,char ch):替换指定位置字符
  • insert(int offset,char ch):指定位置插入字符
  • reverse:反转字符串

 

 

3.相关题目:

zigzag-conversion

 

The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)
P        A        H        N
A   P   L   S   I    I    G
Y        I         R
Write the code that will take a string and make this conversion given a number of rows:
string convert(string text, int nRows);
convert("PAYPALISHIRING", 3) should return "PAHNAPLSIIGYIR" .

 

4.参考代码:

 

public class ZigZag {
	public String convert(String s,int nRows){
		char[] c = s.toCharArray();
		StringBuffer[] sb = new StringBuffer[nRows];
		for(int i=0;i<sb.length;i++)
			sb[i] = new StringBuffer();
		int i = 0;
		while(i<c.length){
			for(int j=0;j<nRows&&i<c.length;j++)
				sb[j].append(c[i++]);
			for(int j=nRows-2;j>=1&&i<c.length;j--)
				sb[j].append(c[i++]);
		}
		for(int j=1;j<sb.length;j++)
			sb[0].append(sb[j]);
		return sb[0].toString();
	}
}