黑马程序员技术交流社区

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

作者: 古枫    时间: 2014-9-19 13:15
标题: 基础测试1、判断一个字符串是否是对称字符串
package com.itheima;

import java.util.Scanner;

/**
* 1、判断一个字符串是否是对称字符串,
* 例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
* @author andy
*
*/
public class Test1 {
        public static void main(String[] args){
                Scanner input = new Scanner(System.in);
            String str = input.next();//接收任意字符串
                      
            isOk1(str);//方法一
            //方法二
            if (isOk2(str)==true) {
                        System.out.println("真,对称!");
                }else{
                        System.out.println("假,不对称!");
                }
                         
        }
        /**
         * 判断字符串是否对称的方法(一)
         * 通过取取索引对应值来进行一一比对
         * @param str
         */
        public static void  isOk1(String str){
                boolean result = true;
                int count =(str.length()-1)/2;
                for (int x=0;x<=count;x++ ){
                        if(str.charAt(x)!=str.charAt(str.length()-1-x)){
                                result = false;
                                break;
                        }
                }
                if(!result)
                        System.out.println("该字符串是不对称的");
                else
                        System.out.println("该字符串是对称的");
        }
        /**
         * 方法二
         * 通过String加强类中的取反方法reverse获取其逆向值
         * 再与原字符串相比是否相等!
         * 等于则返回TRUE,否则FALSE
         * @param str
         * @return
         */
        public static boolean isOk2(String str){
                StringBuffer sb = new StringBuffer(str);
                String str2 = sb.reverse().toString();
                return str.equals(str2);
        }
       
}

作者: EYE_SEE_YOU    时间: 2014-11-7 11:20
我想输入的字符串是空格
作者: danlyalex    时间: 2015-3-24 20:41
看不懂。。。
作者: xicheng26    时间: 2015-5-8 21:43
我也有点不懂,字符串方法调转方法怎么写的????
作者: xxz    时间: 2015-5-26 16:36
package com.itheima;  import java.util.Scanner;  /**  * 第3题: 判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串  * @author xiexz  *  */ public class Test3 {          //判断一个字符串是否为对称字符串的方法         public static boolean isSymmetrical(String str){                 boolean symmetrical = true;                 //获取字符串最后一个字符的下标                 int len=str.length()-1;                 for (int i=0;i<=len/2 ;i++ )                 {                         //判断对称字符是否相同                     if(str.charAt(i)!=str.charAt(len-i)){                             symmetrical=false;                         break;                     }                 }                 return symmetrical;         }                   //测试一个字符串对称性判断方法     public static void main (String[] args){                  System.out.println("请输入一个字符串");         Scanner sc =new Scanner(System.in);                   String str= sc.next();                  if(isSymmetrical(str)){                 System.out.println(str+"是一个对称字符串");         }else{                 System.out.println(str+"不是一个对称字符串");         }         sc.close();     } }
作者: 王竹根    时间: 2015-7-18 10:50
不错、。。。。。。。。。。。。。。。。
作者: _town    时间: 2015-8-10 17:38
不错不粗
作者: _town    时间: 2015-8-10 18:52
真棒啊 看了不错真棒啊 看了不错
作者: _town    时间: 2015-8-10 19:18
写的不错昂客户i
作者: _town    时间: 2015-8-10 19:48
写的真心不错昂
作者: 鹏飞    时间: 2015-8-12 15:01
很不错呀!
作者: javazhang    时间: 2015-8-14 00:43
  1. public static void main(String[] args) {
  2.                 String str = "abba";
  3.                 char[] strList = str.toCharArray();
  4.                 boolean dc = false;
  5.                 for (int i = 0; i < strList.length / 2; i++) {
  6.                         int num = strList.length - i - 1;
  7.                         if (strList[i] == strList[num]) {
  8.                                 dc = true;
  9.                         } else {
  10.                                 dc = false;
  11.                                 System.out.println("不是对称字符串");
  12.                                 return;
  13.                         }
  14.                 }
  15.                 if (dc)
  16.                         System.out.println("是对称字符串");

  17.         }

复制代码

作者: 崔判官    时间: 2015-11-6 21:21
package lianxi;

import java.util.Scanner;

public class Test {
        /**
         *  java程序运行入口
         *  jvm自动加载main方法
         */
        public static void main(String[] args) {
                //创建使用键盘对象
                Scanner sc = new Scanner(System.in);
                //系统提示语
                System.out.println("请输入字符串");
                //输入字符串并获取
                String s = sc.nextLine();
                //创建StringBuilder类型对象
                StringBuilder sb = new StringBuilder();
                //获取之前输入的字符串b
                sb.append(s);
                //进行反转并转回String类型
                String s3 = sb.reverse().toString();
                //反转前的内容跟反转后的内容做比较并输出结果
                System.out.println(s.equals(s3));
               
        }
} 我写的这个比较简单,你可以参考下!简单易懂
作者: dg216888    时间: 2015-12-1 23:12
楼上的确实清楚一些




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