黑马程序员技术交流社区

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

作者: mars314    时间: 2015-9-23 20:14
标题: 判断一个字符串是否是对称字符串,我基础测题
package com.itheima;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
* 2、判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
* @author mars
*/
public class Test2
{

作者: mars314    时间: 2015-9-23 20:15
package com.itheima;  import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;  /**  * 2、判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串  * @author mars  */ public class Test2 {                  public static void main(String[] args)         {             System.out.println("请输入");                  //读取键盘                 BufferedReader bufr = null;                 bufr = new BufferedReader(new InputStreamReader(System.in));                                  String str = null;                 //读取一行                 try                  {                         while((str=bufr.readLine()) != null)                         {                                 if(isEquals(str))                                         System.out.println("这个字符对称");                                 else                                         System.out.println("这个字符不对称");                         }                 }                  catch (IOException e)                 {                                                  e.printStackTrace();                 }         }          //判断前一半与后一半的是否相等                 public static boolean isEquals(String str)                 {                     for (int x=0, y=str.length()-1; x<(str.length()-1)/2; x++, y--)                     {                           if(str.charAt(x) != str.charAt(y))                          {                                 return false;                         }                     }                     return true;                 }  }
作者: mars314    时间: 2015-9-23 20:17
package com.itheima;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
* 2、判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
* @author mars
*/
public class Test2
{
       
        public static void main(String[] args)
        {
            System.out.println("请输入");

                //读取键盘
                BufferedReader bufr = null;
                bufr = new BufferedReader(new InputStreamReader(System.in));
               
                String str = null;
                //读取一行
                try
                {
                        while((str=bufr.readLine()) != null)
                        {
                                if(isEquals(str))
                                        System.out.println("这个字符对称");
                                else
                                        System.out.println("这个字符不对称");
                        }
                }
                catch (IOException e)
                {
                       
                        e.printStackTrace();
                }
        }
         //判断前一半与后一半的是否相等
                public static boolean isEquals(String str)
                {
                    for (int x=0, y=str.length()-1; x<(str.length()-1)/2; x++, y--)
                    {  
                        if(str.charAt(x) != str.charAt(y))
                        {
                                return false;
                        }
                    }
                    return true;
                }

}
补全它。{:2_34:}
作者: 任振铭    时间: 2015-9-23 20:34
看不明白,有点乱
作者: 朦胧色彩    时间: 2015-9-23 20:34
大概明白了
作者: 920792433    时间: 2015-9-23 20:36
同学  可以试着把注释 写详细一点~~
   嘻嘻!!!
作者: mars314    时间: 2015-9-24 11:10
任振铭 发表于 2015-9-23 20:34
看不明白,有点乱

哪里不明白了?
作者: mars314    时间: 2015-9-24 11:11
920792433 发表于 2015-9-23 20:36
同学  可以试着把注释 写详细一点~~
   嘻嘻!!!

呵呵,这个本来就没几行,你是哪里不明白了?
作者: 刘晟伟    时间: 2015-9-24 12:03
明白了,我的基础测试大小写互换就没有写,现在估计能写出来了
作者: fmi110    时间: 2015-9-24 12:25
  1. import java.util.Scanner;

  2. public class Test7 {
  3.         // 判断字符串是否是对称的
  4.         public static void main(String[] args) {
  5.                 System.out.println("输入字符串:");
  6.                 String str = new Scanner(System.in).nextLine();
  7.                 StringBuilder sb = new StringBuilder(str);
  8.                 String strReverse = sb.reverse().toString();
  9.                 System.out.println(str.equals(strReverse));
  10.         }
  11. }
复制代码

作者: 飞焰横天    时间: 2015-9-24 15:59
fmi110 发表于 2015-9-24 12:25

方法用的溜啊     哈哈~   楼主是基础测试题   整的太高端。。。
作者: 任振铭    时间: 2015-9-24 21:39
mars314 发表于 2015-9-24 11:10
哪里不明白了?

这我还没学到,所以不明白
作者: mars314    时间: 2015-9-24 22:01
飞焰横天 发表于 2015-9-24 15:59
方法用的溜啊     哈哈~   楼主是基础测试题   整的太高端。。。

哈哈,好像真的没要求键盘读入啊
作者: mars314    时间: 2015-9-24 22:03
任振铭 发表于 2015-9-24 21:39
这我还没学到,所以不明白

哈哈,学到了就明白了。
作者: 任振铭    时间: 2015-9-24 22:06
mars314 发表于 2015-9-24 22:03
哈哈,学到了就明白了。

应该快了
作者: 芝麻糊    时间: 2015-9-24 22:45
package com.itheima;

public class Test2 {

        /**
         * 2、判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
         * @author lxm
         */
        public static void main(String[] args) {
               
                boolean res = check("adcda");
               
                System.out.println(res);       
        }
       
        /**
         * @param str 要判断的字符串
         * @return 如果字符串对称,返回true, 否则,返回false
         */
        public static boolean check(String str) {
               
//                创建一个 StringBuilder 接收要判断的字符串
                StringBuilder sbr = new StringBuilder(str);
               
//                将字符串反转
                sbr.reverse();
               
//                与原来的字符串比较并返回结果
//                注意:先将sbr 转换为String 再传入其 equals方法,否则一定返回 false
               
                return str.equals(sbr.toString());
               
        }
       

}

作者: zzy张    时间: 2015-9-25 00:03
直接判断反转确实简单,但是没意思啊
作者: mars314    时间: 2015-9-25 00:26
zzy张 发表于 2015-9-25 00:03
直接判断反转确实简单,但是没意思啊

哈哈, 这个想法好,,,,,,,,




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