Java学习笔记109——StringBuffer类的练习—对称字符串

 

StringBuffer类的练习——对称字符串

判断一个键盘录入的字符串是否是对称字符串 例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串

分析: 1、第1个字符与最后一个字符进行比较 2、第2个字符与倒数第2个字符进行比较 3、...

比较的次数:字符串的长度(length())/2

import java.util.Scanner;
public class StringBufferDemo10 {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您想要判断的字符串:");
        String stringLine = sc.next();
​
        //方式1:一个一个的去比较
        //将字符串转换成字符数组
        char[] chars = stringLine.toCharArray();
        boolean flag = true;
        for(int start=0,end=chars.length-1;start<=end;start++,end--){
            if(chars[start]!=chars[end]){
                System.out.println("该字符串不是对称字符串!");
                flag = false;
                break;
            }
        }
        if(flag){
            System.out.println("该字符串是对称字符串!");
        }
​
        System.out.println("*********************************************");
​
        //方式2:利用StringBuffer中reverse()方法,将反转后与反转前进行比较
        //将输入的字符串转换成StringBuffer类型
        StringBuffer sb = new StringBuffer(stringLine);
        StringBuffer reverse = sb.reverse();
        //再将反转后的StringBuffer类型转换回String类型
        String s = reverse.toString();
        if(s.equals(stringLine)){
            System.out.println("该字符串是对称字符串!");
        }else {
            System.out.println("该字符串不是对称字符串!");
        }
    }
}
posted @ 2021-12-16 23:58  欧朋  阅读(269)  评论(0)    收藏  举报