A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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);
        }
       
}

13 个回复

倒序浏览
我想输入的字符串是空格
回复 使用道具 举报
看不懂。。。
回复 使用道具 举报
我也有点不懂,字符串方法调转方法怎么写的????
回复 使用道具 举报
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();     } }
回复 使用道具 举报
不错、。。。。。。。。。。。。。。。。
回复 使用道具 举报
_town 中级黑马 2015-8-10 17:38:34
7#
不错不粗
回复 使用道具 举报
_town 中级黑马 2015-8-10 18:52:42
8#
真棒啊 看了不错真棒啊 看了不错
回复 使用道具 举报
_town 中级黑马 2015-8-10 19:18:06
9#
写的不错昂客户i
回复 使用道具 举报
_town 中级黑马 2015-8-10 19:48:01
10#
写的真心不错昂
回复 使用道具 举报
很不错呀!
回复 使用道具 举报
  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.         }

复制代码
回复 使用道具 举报
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));
               
        }
} 我写的这个比较简单,你可以参考下!简单易懂
回复 使用道具 举报
楼上的确实清楚一些
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马