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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.itheima;

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

public class Test3 {

        public static void main(String[] args) throws IOException {

                // 创建一个输入流,接收输入的字符串
                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                String line = null;
                while ((line = br.readLine()) != null) {
                        if ("".equals(line))
                                break;

                        // 创建一个布尔型变量,用于返回判断的结果
                        boolean s = isDCC(line);

                        // 调用方法
                        System.out.println(s);
                }

        }

        private static boolean isDCC(String line) {

                // 根据传入的字符创建一个缓存对象 sb
                StringBuffer sb = new StringBuffer(line);

                // 将字符的内容倒置,存入到另一个对象
                StringBuffer sb1 = sb.reverse();

       

                将两个对象转换成数组
                 char[] s1 = sb.toString().toCharArray();
                 char[] s2 = sb1.toString().toCharArray();
               
                //判断两个数组中的元素是否相等
                 boolean s = true;
                for(int i=0;i<s1.length;i++){
                 if(s1[i] == s2[i]){
                s = true;
                 }
                 else{
                 s = false;
                /break;
                 }
                }
              return s;
        }
}


2 个回复

倒序浏览
sb.reverse();是把sb给逆序了,StringBuffer sb1=sb.reverse();更是把两个都指向了一个对象,结果当然永远是true;

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报
  1.         // 回文数判断,是就返回true,不是则返回false
  2.         public static boolean isPalindrome(int num) {
  3.                
  4.                 StringBuilder sb = new StringBuilder();
  5.                 StringBuilder sb1 = new StringBuilder();
  6.                
  7.                 sb.append(num);
  8.                 sb1.append(num);

  9.                 //反转缓冲区
  10.                 sb.reverse();
  11.                
  12.                 if(sb.toString().equals(sb1.toString()))
  13.                         return true;
  14.                
  15.                 return false;
  16.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马