Java 键盘录入一个字符串:判断字符串是否为对称字符串

本文介绍了两种方法来判断输入字符串是否为对称字符串:一是逐字符比较,二是利用StringBuilder实现反转对比。通过代码实例演示了如何使用compare()函数和StringBuffer的reverse()方法检查字符串对称性。
摘要由CSDN通过智能技术生成

键盘录入一个字符串:判断字符串是否为对称字符串

1.方式一
分析:
1)定义一个功能完成 compare(String str)—返回值 boolean

   1.1) 获取字符串长度 str.length()
   1.2) 创建一个字符数组:动态初始化 char[] charArray = new char[str.length()] ;
   1.3)遍历字符串  ---->通过获取功能: str.charAt(角标);获取到每一字符  赋值字符数组的每一个元素
   1.4)遍历charArray数组
                    保证数组长度/2
                   charArray[i] != charArray[charArray.length-1-i]
                         就不对称
                  否则就对称
private static boolean compare(String line) {
        //创建一个新的字符数组,动态初始化
        char[] charArray = new char[line.length()] ;

        //遍历line字符串,通过charAt(int index)获取每一个字符
        for(int x = 0 ; x < line.length() ; x ++){
           charArray[x] = line.charAt(x) ;//将字符赋值字符数组中的每一个元素
        }

        //遍历字符数组charArray,保证长度/2
        for(int i = 0 ; i < charArray.length/2 ; i ++){
            if(charArray[i] !=charArray[charArray.length-1-i]) {
                return false;
            }
        }
        return true ;
}
//测试类
public class StringTest4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in) ;
        System.out.println("请您输入一个字符串:");
        String line = sc.nextLine() ;
        //调用功能
        boolean flag = compare(line) ;
        System.out.println(flag);
    }
}

2.方式二
使用 -----> StringBuffer完成

 public static boolean compare2(String line) {
       /* //将line--->StringBuffer
        StringBuffer sb = new StringBuffer(line) ;
        String str = sb.reverse().toString();
        return str.equals(line) ;*/
		
		//链式编程将上面的代码简化
       return new StringBuffer(line).reverse().toString().equals(line) ;
    }
//测试类
public class StringTest4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in) ;
        System.out.println("请您输入一个字符串:");
        String line = sc.nextLine() ;
        boolean flag2 = compare2(line) ;
        System.out.println(flag2);
    }
}
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值