import java.util.Scanner;
/*
*判断一个字符串是否是对称字符串
*例如"abc"不是对称字符串,"aba","abba","mnanm" 是 对称字符串
*
* 分析:
* 判断一个字符串是否是对称的字符串, 只需要把
* 第一个和最后一个比较
* 第二个和倒数第二个比较
* .....
* 比较的次数是长度除以2
*/
public class StringSubfferTest {
public static void main(String[] args) {
//创建键盘录入对象
Scanner in=new Scanner(System.in);
System.out.println("请输入一个字符串");
String s=in.nextLine();
//普通方法
boolean s2=isSame(s);
System.out.println(s2);
//用字符串缓冲区的反转功能
boolean s3=isSame2(s);
System.out.println(s3);
}
//用字符串缓冲区的反转功能
public static boolean isSame2(String s){
return new StringBuffer(s).reverse().toString().equals(s);
/*程序步骤:
先创建缓冲区对象,然后把S里面的值赋值进去
再把字符串反转后转换成String类型
在与之前传进来的S比较内容是否一致*/
}
//普通方法
public static boolean isSame(String s){
//把字符串转换为字符数组
char[] arr=s.toCharArray();
//比较是否对称
for(int i=0,f=arr.length-1;i<=f;i++,f--){
if(arr[i]!=arr[f]){
return false;
}
}
return true;
}
} |
|