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

 public class StringBufferTest2 {

 public static void main(String[] args) {
//定义一个数组
int[] arr = {12,21,33,9,2}; //方式1:定义功能,使用String做拼接
String s1 = arrayToString(arr);
System.out.println("String拼接的方法:"+s1); //方式2:定义功能能,使用StringBuffer做拼接
String s2 = arrayToString2(arr);
System.out.println("StringBuffer拼接的方法:"+s2); } public static String arrayToString(int[] arr) {
//定义一个[的字符串
String s = "[";
//进行数组的遍历以及转换为字符串 for(int x=0;x<arr.length;x++){
if(x == arr.length-1){
s += arr[x]+"]";
}
else{
s += arr[x]+",";
}
}
return s;
} public static String arrayToString2(int[] arr) { //定义一个"["的StringBuffer的缓冲区
StringBuffer sb = new StringBuffer();
sb.append("["); //进行数组的遍历,以及转换为StringBuffer缓冲区
for(int x=0;x<arr.length;x++){
if(x == arr.length-1){
sb.append(arr[x]);
}
else{
sb.append(arr[x]).append(",");
}
}
sb.append("]");
//StringBuffer 转换成 String
return sb.toString();
}
}

2、
   把字符串反转

 import java.util.Scanner;
public class StringBufferTest3 { public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入想要反转的数据");
String str = sc.nextLine(); //调用方法1 reverse1
String result = reverse1(str);
System.out.println("反转后的数据:"+result); //调用方法2 reverse2
String result2 = reverse2(str);
System.out.println("反转后的数据:"+result2);
} //方式1:用String的方法
public static String reverse1(String s){ //定义一个[的字符串
String s1 = ""; //把字符串转成数组
char[] ch = s.toCharArray(); //进行数组的元素遍历以及字符串的拼接
for(int x = ch.length-1;x >= 0;x--){ if(x == 0){
s1 += ch[x];
}
else{
s1 += ch[x];
}
}
return s1;
} //方式2,利用StringBuffer的反转方法
public static String reverse2 (String s){ //把输入的String类型转换为StringBuffer类型
//StringBuffer buffer = new StringBuffer(s); //进行StringBuffer的反转功能:
//public StringBuffer reverse()
//return buffer.reverse().toString(); //简洁版
return new StringBuffer(s).reverse().toString();
} }

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

 import java.util.Scanner;
public class StringBufferTest4 { public static void main(String[] args) {
//创建键盘输入
Scanner sc = new Scanner(System.in);
System.out.println("请输入你想要判断的字符串:");
String str = sc.nextLine(); //调用第一种方法
boolean b1 = symmetry1(str);
System.out.println("这个字符串是否对称:"+b1); //调用第一种方法2
boolean b2 = symmetry2(str);
System.out.println("这个字符串是否对称:"+b2); //调用第二种方法
boolean b3 = symmetry2(str);
System.out.println("这个字符串是否对称:"+b3);
} //方式1:用string的方法来一个一个对比
public static boolean symmetry1(String s){
//把字符串改成数组
char[] c = s.toCharArray();
//进行比较,定义2个变量:start和end,分别从两端开始对比
for(int start = 0, end = c.length-1;start < end ; start ++,end--){
if(c[start] != c[end]){//进行判断
return false; }
}
return true;
} //方式1的另外一种方式:
public static boolean symmetry2(String s){
//定义一个boolean值
boolean flog = true; //把字符串改成数组
char[] c = s.toCharArray(); //进行比较,定义2个变量:start和end,分别从两端开始对比
for(int start = 0, end = c.length-1;start < end ; start ++,end--){
if(c[start] != c[end]){//进行判断
flog = false;
break;
}
}
return flog;
} //方式2 利用StringBuffer的反转功能
public static boolean symmetry3(String s){
return new StringBuffer(s).reverse().toString().equals(s);
//先从String变为StringBuffer类型,再对它进行反转,再变回string类型,再让此时得到的字符串与原来的对比里面的数据是否一样
}
}

java 12-5 StringBuffer的几个案例的更多相关文章

  1. final修饰和StringBuffer的几个案例(拼接,反转,对称操作)

    final关键字修饰时如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改:如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象,但引用变量不能变,引用变量所指向的对象中的内容还 ...

  2. java学习笔记 --- StringBuffer类

    1.定义:字符串缓冲区,即它是一个容器,容器中可以装很多字符.并且能够对其中的字符进行各种操作. StringBuffer的特点: 1.是一个字符串缓冲区,其实就是一个容器. 2.长度是可变,任意类型 ...

  3. Java中的StringBuffer

    Java中的StringBuffer /** * */ package com.you.model; /** * @author YouHaidong * */ public class StrFoo ...

  4. Java 12 正式发布,8大新特性

    自 2 月 7 日开始,Java/JDK 12 就进入了 RC 阶段.按照发布周期,美国当地时间 3 月 19 日,也就是北京时间 20 号 Java 12 正式发布了! 1.Shenandoah:低 ...

  5. 尝鲜Java 12新特性:switch表达式

    Java 12将在两个月后(2019/3/19)发布,现已进入RDP1阶段,确定加入8个JEP.其中对Java语法的改进是JEP 325: switch表达式.于是我迫不及待,提前感受一下更先进的语言 ...

  6. [java,2017-05-16] java中清空StringBuffer的方法以及耗费时间比较

    java中清空StringBuffer的方法,我能想到的有4种: 1. buffer.setLength(0);  设置长度为0 2. buffer.delete(0, buffer.length() ...

  7. Java面向对象之多态(来源于身边的案例)

    2019年1月3日 星期四 Java面向对象之多态(来源于身边的案例) 1. 为什么要用多态? 1.1 多态是面向对象的三大特性之一 1.2 多态是基于接口设计的模型 1.3 多态具有横向扩展特性 1 ...

  8. 5分钟了解Java 12 八大新特性

    Java 12 终于发布了,我们一起来看一看 Java 12 中的新特性.通过本文可以在5分钟内快速了解 Java 12 新特性. 1 Switch 表达式 使用Java 12,switch不仅可以作 ...

  9. .Net Core 2.2与Java 12性能对比

    我发现基准游戏(https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/csharp.html)是一套非常好的基准测试. ...

  10. Java常用函数式接口--Predicate接口使用案例

    Java常用函数式接口--Predicate接口使用案例 该方法可以使用and来优化: 调用:

随机推荐

  1. Office版本差别引发的语法问题

    由于没有源代码,今天反编译了一个基于.NET的dll类库,再次遇到office版本差异问题,所以把它记录下来. 在反编译时,需要Aspose.Cells 5.3.1(Aspose是一套.NET类库,其 ...

  2. windows 8 设置hyper-v网络设置

    1 windwos 8 设置hyperv 比较简单,和装操作系统都不多做解释.我只多说说网络的设置问题,因为可能装提windows 2008虚拟机,根据网上设置网络的方式都是要不然只能虚拟 机上网 , ...

  3. C# 点绕某点旋转某角度

    /// <summary> /// 以中心点旋转Angle角度 /// </summary> /// <param name="center"> ...

  4. arcgis andriod 长按获得当前信息

    // 长按显示鼠标点坐标及比例尺 private class myLongPressListener implements OnLongPressListener { private static f ...

  5. tomcat部署

    因为之前一直用的JBoss服务器,今天测试了一下想换成tomcat,然后就考了一个现成的tomcat,然后将jboss下的项目复制了一个到tomcat下,然后改了一下文件名,结果启动时报错 java. ...

  6. select_tag 选择后自动提交,并且保持选择的项

    使用select来选择,,,选择就响应真是花了好大的功夫....你妹...在controller设置变量来储存选择后的值...js中如果select选择为空那么传入的值是””而不是null selec ...

  7. Memcache笔记03-php操作Memcached

    通过php程序操作Memcached服务几种形式 Memcache 扩展 Memcached 扩展 Socket套接字操作 memcached-client.php(函数) 对于php扩展来说,dan ...

  8. Nodejs断言测试

    var assert = require('assert');/*node中,我们可以使用assert模块来测试代码.equal()和notEqual()分别作相等性和不等性的判断,第一个参数是期望值 ...

  9. ajax跨域 自定义header问题总结

    遇到的问题:已经在ajax里面添加自定义参数,但是没有生效 beforeSend : function(request) { request.setRequestHeader("region ...

  10. oracle缓存池使用解析

    oracle有三种类型的缓存池,分别是default,keep和recycle.默认情况下只会使用default缓存池,另外两种需要额外配置. keep缓存池相当于是一直很热的default缓存池,缓 ...