方式一:
用String作拼接
package day13;
import java.util.Scanner;
/*
* 字符串反转
* */
public class StringBufferDemo6 {
public static void main(String[] args) {
//创建键盘输入对象
Scanner sc = new Scanner(System.in);
//提示用户输入字符串
System.out.println("请你输入一个字符串");
//定义键盘输入对象的类型
String B = sc.nextLine();
//方式一:
//使用String拼接方式
//接收返回值
String sm = fanzhun(B);
System.out.println(sm);
}
//两个明确
//返回值类型----String---参数列表--字符串
public static String fanzhun(String B){
//首先定义一个空字符串用于接收反转后的字符串
String C= "";
//将字符串转化为字符数组---定义一个字符数组进行接收
//char[] toCharArray():把字符串转换为字符数组---String的转化功能
//字符数组=字符串对象.方法名
char [] D =B.toCharArray();
//对接收后的字符数组进行逆序的遍历
//从字符数组的最后开始
for(int x =D.length-1;x>=0;x--){
//依次获取字符数组中的元素
char ch =D[x];
//对获取后的字符数组中的元素进行与字符串拼接;
C+=ch;
if(x==0){
break;
}
C+=",";
}
//for循环结束后返回String类型的值
return C;
}
}
方式二:
用StringBuffer的reverse功能
package cn.itcast_07;
import java.util.Scanner;
/*
* 把字符串反转
*/
public class StringBufferTest3 {
public static void main(String[] args) {
// 键盘录入数据
Scanner sc = new Scanner(System.in);
System.out.println("请输入数据:");
String s = sc.nextLine();
// 方式2:用StringBuffer的reverse()功能
String s2 = myReverse2(s);
System.out.println("s2:" + s2);
}
public static String myReverse2(String s) {
//其中向字符缓冲区对象添加数据的方式有两种
// StringBuffer sb = new StringBuffer();
//通过添加功能append进行添加,其中添加的对象可以是对象名或者是直接给出的数值
// sb.append(s);
//通过构造方法直接传递参数
//将数据添加到字符缓冲区
// StringBuffer sb = new StringBuffer(s);
//直接对字符串进行反转
// sb.reverse();
//反转后调用StringBuffer中的toString功能将任意类型转换为字符串类型的数据
// return sb.toString();
// 简易版
return new StringBuffer(s).reverse().toString();
}
判断字符串是否对称案例
/*
* 判断一个字符串是否是对称字符串
* 例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
*
* 分析:
* 判断一个字符串是否是对称的字符串,我只需要把
* 第一个和最后一个比较
* 第二个和倒数第二个比较
* ...
* 比较的次数是长度除以2。
* */
package day13;
import java.util.Scanner;
public class StringBufferDemo7 {
public static void main(String[] args) {
//创建键盘输入对象
Scanner sc = new Scanner(System.in);
//提示用户输入信息
System.out.println("请你输入一个字符串");
//定义键盘输入对象的类型
String A = sc.nextLine();
//调用功能
//采用直接输出的方式
System.out.println(show(A));
}
//两个明确
// 返回值类型---判断相等用boolean---参数列表--字符串
public static boolean show(String A){
//首先将字符串转化为字符数组
char [] arry =A.toCharArray();
//进行字符的比较
for(int x=0,y=A.length()-1;x<=y;x++,y--){
if(arry[x]!=arry[y]){
return false;
}
}
return true;
}
}
方式二:
使用StringBuffer---
public class StringBufferDemo7 {
public static void main(String[] args) {
//创建键盘输入对象
Scanner sc = new Scanner(System.in);
//提示用户输入信息
System.out.println("请你输入一个字符串");
//定义键盘输入对象的类型
String A = sc.nextLine();
//方式二---使用字符缓冲区
//返回值接收
boolean AB = show2(A);
System.out.println(AB);
}
//两个明确
//返回值类型----参数列表
public static boolean show2(String C){
//创建字符串缓冲区====将字符串类型变为StringBuffer类型
StringBuffer zifu = new StringBuffer(C);
//调用StringBuffer中的reverse进行反转
zifu.reverse();
//对反转后的StringBuffer进行类型的转换---将其转换为字符串类型
zifu.toString();
//然后使用String类中的equals来比较反转前和反转后是否相等
return (C.equals(zifu.toString()));
//简易版
//return new StringBuffer(C).reverse().toString().equals(C);
}
}