欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

Java判断字符串回文的代码实例

时间:2020-12-04 04:02:38|栏目:JAVA代码|点击:

首先,回文是指类似于“12345”,“abcdcba”的形式,即正念和反念都是一样的字符串

判断字符串是否是回文,这边介绍2种办法

1、将字符串翻转,判断翻转后的字符串和原字符串是否相等

public static void main(String[] args) {
  String s="abcdcba";
  // 用StringBuilder的reverse方法将字符串反转
  StringBuilder sb=new StringBuilder(s);
  String afterReverse=sb.reverse().toString();
  //判断反转后的字符串与原字符串是否相等,可用compareTo,equals,
  int isequal=afterReverse.compareTo(s); //若相等则输出0
  if (isequal==0){
    System.out.println("是回文");
  }else
    System.out.println("不是回文");
}

注意:compareTo,equals判断字符串均考虑大小写,即大小写视为不想等,若需要不考虑大小写,则可以用equalsIgnoreCase

2、for循环依次判断对应字符是否相等

public static void main(String[] args) {
    String s="12344321";
    int l=s.length();
    System.out.println(l/2);
    int result=1;
    //从中间开始往两边比较
    for (int i=0;i<l/2;i++){
      if (s.charAt(i)==s.charAt(l-i-1)){
        result=0;
      }else{
        result=1;
        break; //比较有一个不想等时需要跳出循环,否则只要最后一个比较成立,就会返回result=0
      }
    }
    if (result==0){
      System.out.println("是回文");
    }else {
      System.out.println("不是回文");
    }
  }

方法知识点补充

1,定义两个字符串元素指针(注意java没有指针的概念),int right=T.length()-1 ;int left=0;

2,即left从左边开始,right从右边开始,依次比较所指的字符是否相等,若相等,则将left++,right--;否则,直接返回不是回文

while(left<right){
if(T.charAt(left)!=T.charAt(right))
return false;
left++;
right--;
}
return true;

代码:

/* 
   * 3: 
   * 回文判断 
   * 问题描述:回文,英文palindrome,指一个顺着读和反过来读都一样的字符串,比如madam、我爱我, 
   * 方法一: 
   * 分析:使用两个"指针"分别从字符串头和尾扫描,若每一个"指针"所指值都相等,这为回文 
   */
  public boolean isPalindrome(String s){ 
    if(s==null) 
      return false; 
    int left=0; 
    int right=s.length()-1; 
    while(left<right){ 
      if(s.charAt(left)!=s.charAt(right)) 
        return false; 
      left++; 
      right--; 
    } 
    return true; 
  } 

上一篇:SpringBoot项目如何打可执行war包

栏    目:JAVA代码

下一篇:序列化版本号serialVersionUID的作用_动力节点Java学院整理

本文标题:Java判断字符串回文的代码实例

本文地址:http://www.codeinn.net/misctech/29303.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有