java字符串回文_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

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

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

if(s.charAt(left)!=s.charAt(right))

return false;

left++;

right--;

}

return true;

}

以上就是Java判断字符串回文的代码实例的详细内容,更多关于Java判断字符串是否是回文请关注脚本之家其它相关文章!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值