java 12-5 StringBuffer的几个案例
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的几个案例的更多相关文章
- final修饰和StringBuffer的几个案例(拼接,反转,对称操作)
final关键字修饰时如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改:如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象,但引用变量不能变,引用变量所指向的对象中的内容还 ...
- java学习笔记 --- StringBuffer类
1.定义:字符串缓冲区,即它是一个容器,容器中可以装很多字符.并且能够对其中的字符进行各种操作. StringBuffer的特点: 1.是一个字符串缓冲区,其实就是一个容器. 2.长度是可变,任意类型 ...
- Java中的StringBuffer
Java中的StringBuffer /** * */ package com.you.model; /** * @author YouHaidong * */ public class StrFoo ...
- Java 12 正式发布,8大新特性
自 2 月 7 日开始,Java/JDK 12 就进入了 RC 阶段.按照发布周期,美国当地时间 3 月 19 日,也就是北京时间 20 号 Java 12 正式发布了! 1.Shenandoah:低 ...
- 尝鲜Java 12新特性:switch表达式
Java 12将在两个月后(2019/3/19)发布,现已进入RDP1阶段,确定加入8个JEP.其中对Java语法的改进是JEP 325: switch表达式.于是我迫不及待,提前感受一下更先进的语言 ...
- [java,2017-05-16] java中清空StringBuffer的方法以及耗费时间比较
java中清空StringBuffer的方法,我能想到的有4种: 1. buffer.setLength(0); 设置长度为0 2. buffer.delete(0, buffer.length() ...
- Java面向对象之多态(来源于身边的案例)
2019年1月3日 星期四 Java面向对象之多态(来源于身边的案例) 1. 为什么要用多态? 1.1 多态是面向对象的三大特性之一 1.2 多态是基于接口设计的模型 1.3 多态具有横向扩展特性 1 ...
- 5分钟了解Java 12 八大新特性
Java 12 终于发布了,我们一起来看一看 Java 12 中的新特性.通过本文可以在5分钟内快速了解 Java 12 新特性. 1 Switch 表达式 使用Java 12,switch不仅可以作 ...
- .Net Core 2.2与Java 12性能对比
我发现基准游戏(https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/csharp.html)是一套非常好的基准测试. ...
- Java常用函数式接口--Predicate接口使用案例
Java常用函数式接口--Predicate接口使用案例 该方法可以使用and来优化: 调用:
随机推荐
- [Architecture Design] 3-Layer基础架构
[Architecture Design] 3-Layer基础架构 三层式体系结构 只要是软件从业人员,不管是不是本科系出身的,相信对于三层式体系结构一定都不陌生.在三层式体系结构中,将软件开发所产出 ...
- Vue列表渲染
gitHub地址:https://github.com/lily1010/vue_learn/tree/master/lesson09 一 for循环数组 <!DOCTYPE html> ...
- Web.Config的配置
1.配置数据库连接 在<connectionStrings></connectionStrings>节中完成,配置过程需指定四个属性server(DataSource)服务器名 ...
- Displaying SharePoint Lists or Libraries in other sites 显示其他站点的List
Child objects within SharePoint, like a list in a Site, share an inherent connection with that Paren ...
- JAVA----编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符
package com.pb.demo.packclass.demo1; import java.util.HashSet; /** * 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符 ...
- IOS 登陆界面的简单编写(通过NSNotificationCenter)
在介绍内容的之前,先看一下实现结果. 通过细节可以发现,只有当手机号与密码都输入的情况登录按钮才会变亮.那么这是怎么实现的呢? 首先我们要知道,这种情况的发生的首要条件便是每时每刻都知道两个TextF ...
- 如何改进iOS App的离线使用体验
App Store中的App分析 App已经与我们形影不离了,不管在地铁上.公交上还是在会场你总能看到很多人拿出来手机,刷一刷微博,看看新闻. 据不完全统计有近一半的用户在非Wifi环境打开App,以 ...
- C语言-03-流程控制
一.选择结构 1> if语句 使用注意 ① if语句中的条件语句,不要把==和=弄混,可以把常量作为左值, 这样的话,在无用=的情况下,编译时会报错 ② if语句后若要定义新的变量或者有多条语句 ...
- Win10 下使用 ionic 框架开发 android 应用之搭载开发环境
转载请注明出处:http://www.cnblogs.com/titibili/p/5102035.html 谢谢~ 1.下载JDK并配置Java运行环境 http://www.oracle.com/ ...
- docker-3 基础命令
创建镜像 创建镜像的方法有三种: 基于已有的容器创建 基于本地模板导入 基于dockerfile 基于已有的容器创建 主要使用docker commit 命令,命令格式: docker commit ...