首页 > 代码库 > java 12-5 StringBuffer的几个案例

java 12-5 StringBuffer的几个案例

1、
  把数组拼接成一个字符串

 1 public class StringBufferTest2 { 2  3 public static void main(String[] args) { 4 //定义一个数组 5 int[] arr = {12,21,33,9,2}; 6  7 //方式1:定义功能,使用String做拼接 8 String s1 = arrayToString(arr); 9 System.out.println("String拼接的方法:"+s1);10 11 //方式2:定义功能能,使用StringBuffer做拼接12 String s2 = arrayToString2(arr);13 System.out.println("StringBuffer拼接的方法:"+s2);14 15 }16 17 public static String arrayToString(int[] arr) {18 //定义一个[的字符串19 String s = "[";20 //进行数组的遍历以及转换为字符串21 22 for(int x=0;x<arr.length;x++){23 if(x == arr.length-1){24 s += arr[x]+"]";25 }26 else{27 s += arr[x]+",";28 }29 }30 return s;31 }32 33 public static String arrayToString2(int[] arr) {34 35 //定义一个"["的StringBuffer的缓冲区36 StringBuffer sb = new StringBuffer();37 sb.append("[");38 39 //进行数组的遍历,以及转换为StringBuffer缓冲区40 for(int x=0;x<arr.length;x++){41 if(x == arr.length-1){42 sb.append(arr[x]);43 }44 else{45 sb.append(arr[x]).append(",");46 }47 }48 sb.append("]");    49 //StringBuffer 转换成 String50 return sb.toString();    51 }52 }

 

2、
   把字符串反转

 1 import java.util.Scanner; 2 public class StringBufferTest3 { 3  4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 System.out.println("请输入想要反转的数据"); 7 String str = sc.nextLine(); 8  9 //调用方法1 reverse110 String result = reverse1(str);11 System.out.println("反转后的数据:"+result);12 13 //调用方法2 reverse214 String result2 = reverse2(str);15 System.out.println("反转后的数据:"+result2);16 }17 18 //方式1:用String的方法19 public static String reverse1(String s){20 21 //定义一个[的字符串22 String s1 = "";23 24 //把字符串转成数组25 char[] ch = s.toCharArray();26 27 //进行数组的元素遍历以及字符串的拼接28 for(int x = ch.length-1;x >= 0;x--){29 30 if(x == 0){31 s1 += ch[x];    32 }33 else{34 s1 += ch[x];    35 }36 }37 return s1;38 }39 40 //方式2,利用StringBuffer的反转方法 41 public static String reverse2 (String s){42 43 //把输入的String类型转换为StringBuffer类型44 //StringBuffer buffer = new StringBuffer(s);45 46 //进行StringBuffer的反转功能:47 //public StringBuffer reverse()48 //return buffer.reverse().toString();49 50 //简洁版51 return new StringBuffer(s).reverse().toString();52 }53 54 }

 

3、
  判断一个字符串是否是对称字符串
    分析:
      两种方法可以完成:
      A:用string来完成:
        先把字符串改成数组,再对里面的数据进行, 一个一个地对比,最后的和第一个,倒二和第二....
      B:用StringBuffer来完成:
        直接倒转来对比原值
      C:分别创建方法,两个必须确认的值:
                a:返回类型:boolean
                b:参数列表:String

 1 import java.util.Scanner; 2 public class StringBufferTest4 { 3  4 public static void main(String[] args) { 5 //创建键盘输入 6 Scanner sc = new Scanner(System.in); 7 System.out.println("请输入你想要判断的字符串:"); 8 String str = sc.nextLine(); 9 10 //调用第一种方法11 boolean b1 = symmetry1(str);12 System.out.println("这个字符串是否对称:"+b1);13 14 //调用第一种方法215 boolean b2 = symmetry2(str);16 System.out.println("这个字符串是否对称:"+b2);17 18 //调用第二种方法19 boolean b3 = symmetry2(str);20 System.out.println("这个字符串是否对称:"+b3);21 } 22 23 //方式1:用string的方法来一个一个对比24 public static boolean symmetry1(String s){25 //把字符串改成数组26 char[] c = s.toCharArray();27 //进行比较,定义2个变量:start和end,分别从两端开始对比28 for(int start = 0, end = c.length-1;start < end ; start ++,end--){29 if(c[start] != c[end]){//进行判断30 return false;31 32 }    33 }34 return true;35 }36 37 //方式1的另外一种方式:38 public static boolean symmetry2(String s){39 //定义一个boolean值40 boolean flog = true;41 42 //把字符串改成数组43 char[] c = s.toCharArray();44 45 //进行比较,定义2个变量:start和end,分别从两端开始对比46 for(int start = 0, end = c.length-1;start < end ; start ++,end--){47 if(c[start] != c[end]){//进行判断48 flog = false;49 break;50 }    51 }52 return flog;53 }54 55 //方式2 利用StringBuffer的反转功能56 public static boolean symmetry3(String s){57 return new StringBuffer(s).reverse().toString().equals(s);58 //先从String变为StringBuffer类型,再对它进行反转,再变回string类型,再让此时得到的字符串与原来的对比里面的数据是否一样59 }60 }

 

java 12-5 StringBuffer的几个案例