1 public class StringBuffer {
4 // private static final int DEFAULTSIZE=16;
6 public StringBuffer(String str) {
7 value=new char[str.count+16];//16 is DEFAULTSIZE
9 for(int i=0;i<count;i++)
10 value[i]=str.value[i+str.offset];
13 public StringBuffer() {
14 value=new char[16];//16 is DEFAULTSIZE
22 public int capacity() {
26 public char charAt(int x) {
30 public StringBuffer append(char c) {
31 return append(String.valueOf(c));
34 public StringBuffer append(String s) {
35 if ((s.count+count)>value.length) {
37 char newvalue[]=new char[s.count+count+16]; //16 is DEFAULTSIZE
38 for(int i=0;i<count;i++)
40 for(int i=0;i<s.count;i++)
41 newvalue[i+count]=s.value[i+s.offset];
45 for(int i=0;i<s.count;i++) {
46 value[i+count]=s.value[i+s.offset];
53 public StringBuffer append(StringBuffer s) {
54 if ((s.count+count)>value.length) {
56 char newvalue[]=new char[s.count+count+16]; //16 is DEFAULTSIZE
57 for(int i=0;i<count;i++)
59 for(int i=0;i<s.count;i++)
60 newvalue[i+count]=s.value[i];
64 for(int i=0;i<s.count;i++) {
65 value[i+count]=s.value[i];
72 public String toString() {
73 return new String(this);