黑马程序员技术交流社区

标题: 判断一个字符串是否是对称字符串 [打印本页]

作者: 闭眼就天黑    时间: 2013-12-18 23:04
标题: 判断一个字符串是否是对称字符串
判断一个字符串是否是对称字符串
例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串。。
{:soso_e109:}求大神,给个思路。最好给个参考代码。。{:soso_e115:}


作者: 迪兰奇迹    时间: 2013-12-18 23:13
可以先得到这个字符串的相反字符串;reverseString();然后将新得到的字符串与原字符串比较内容equals()即可! 呵呵
作者: 闭眼就天黑    时间: 2013-12-18 23:16
迪兰奇迹 发表于 2013-12-18 23:13
可以先得到这个字符串的相反字符串;reverseString();然后将新得到的字符串与原字符串比较内容equals()即可 ...

:#帮我写个可以吗
作者: 迪兰奇迹    时间: 2013-12-18 23:21
我去 ,太懒了了吧!基本思路都已经说了!好吧,等会啊!
作者: jing迪    时间: 2013-12-18 23:22
可以用StringBuffer 的反转功能
作者: 小蚊子    时间: 2013-12-18 23:30
  1.         /**
  2.          * 判断字符串是否是对称字符串
  3.          * @param testStr 要判断的字符串
  4.          * @return  若为对称字符串返回true   若不是对称字符串返回false
  5.          */
  6.         public boolean test(String testStr) {
  7.                 for(int i=0;i<testStr.length();i++) {
  8.                         String bStr = testStr.substring(i, i+1);
  9.                         String aStr = testStr.substring(testStr.length()-i-1, testStr.length()-i);
  10.                         if(!aStr.equals(bStr)) {
  11.                                 return false;
  12.                         }
  13.                 }
  14.                 return true;
  15.         }
复制代码


作者: 迪兰奇迹    时间: 2013-12-18 23:37
public class ReverseTest {
        static String a= new String("acavbvaca");//提供两个字符串
        static String b= "abdhhabfgkjghakjskl";
        public static void main(String[] args) {
                        StringBuffer c = new StringBuffer();
                        if(a.equals(c.append(a).reverse().toString())){/*通过reverse方法将字符串反转,变为                                                            字符串后,通过equals()比较两个字符串内容是否相同,相同则对称*/
                                System.out.println("字符串a是对称的!");
                        }
                        else
                                System.out.println("字符串a不对称的!");
                       
                        if(b.equals(c.append(b).reverse().toString())){
                                System.out.println("字符串b是对称的!");
                        }
                        else
                                System.out.println("字符串b不对称的!");
               

        }

}
作者: 迪兰奇迹    时间: 2013-12-18 23:43
不好意思,犯了个错,对于StringBuffer c 因为已经添加了字符串a,所以后边添加字符串b时,里边已经有内容了,所以添加字符串b时,需要添加到新的StringBuffer中去!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2