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. (三)play之yabe项目【数据模型】

    (三)play之yabe项目[数据模型] 博客分类: 框架@play framework   创建项目 play new yabe What is the application name? [yab ...

  2. 胖AP(1602i)与苹果设备之间的问题总结

    问题现象: 苹果设备(5GHz)连接不稳定,表现为时断时续,或者加入无线的时候一直加入不进去. 有些2.4GHz设备会在几个AP之间相互跳. 分析: 1. 先说苹果设备,它既支持2.4G 也支持5G, ...

  3. has_many :through VS has_and_belongs_to_many

    user role has_and_belongs_to_many role.destroy:  关联表user_roles先删除记录,再role删除. has_many :through user. ...

  4. GridView自带的分页功能实现

    要实现GrdView分页的功能操作如下:1.更改GrdView控件的AllowPaging属性为true.2.更改GrdView控件的PageSize属性为 任意数值(默认为10)3.更改GrdVie ...

  5. 深入底层逆向分析TDC‘s keygenme(手脱压缩壳)

    系统 : Windows xp 程序 : TDC‘s keygenme 程序下载地址 :http://pan.baidu.com/s/1gdWyt6z 要求 : 脱壳 & 注册机编写 使用工具 ...

  6. STL--双端队列(deque)和链表(list)

    双端队列(deque容器类): #include<deque>与vector 类似,支持随机访问和快速插入删除,它在容器中某一位置上的操作所花费的是线性时间. 与vector不同的是:de ...

  7. IOS开发中(null)与<null>的处理

    不小心在开发过程中,得到了(null)以及<null>的返回值,找了好长时间只找到了一个关于<null>的. 由于要根据返回值进行判断,做出必要反应,因此必须知道返回值所代表的 ...

  8. C# 零散知识 扩展方法 类型约束

    今天看到这么一段代码,我看下面调用了NotifyPropertyChanged定义了两个参数,但是调用的时候只写了一个参数.后来查了下,原来这个是扩展方法的用法, 就是说给T扩展了一个方法Notify ...

  9. [docker] 管理docker容器中的数据

    之前我们介绍了Docker的基本概念(前面的没翻译...),了解了如何使用Docker镜像进行工作,并且学习了网 络和容器之间的链接.这一节我们将讨论如何管理容器中及容器之间的数据. 我们将查看下面两 ...

  10. javascript 依次输入自动定焦框

    <html> <head> <script type="text/javascript"> function moveNext(object,i ...