java判断字符串是否是回文数的方法

本篇文章给大家分享的是有关java判断字符串是否是回文数的方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

回文数(或回文数)是指一个像14641这样“对称”的数,即:将这个数的数字按相反的顺序重新排列后,所得到的数和原来的数一样。

十进制的回文数:

10基数下所有单个数字{0、1、2、3、4、5、6、7、8、9}都是回文数;两位数的回文数有9个:{11, 22, 33, 44, 55, 66, 77, 88, 99}。

三位数中有90个回文数:

{101, 111, 121, 131, 141, 151, 161, 171, 181, 191, ..., 909, 919, 929, 939, 949, 959, 969, 979, 989, 999}

四位数中也有90个回文数:

{1001, 1111, 1221, 1331, 1441, 1551, 1661, 1771, 1881, 1991, ..., 9009, 9119, 9229, 9339, 9449, 9559, 9669, 9779, 9889, 9999},

因此总共有199个小于104的回文数。小于105的回文数有1099个,对其它的10的整数幂10n来说,分别有:1999, 10999, 19999, 109999, 199999, 1099999, ... (OEIS中的数列A070199)个回文数。

下面介绍一种简单的判断方法,具体实现代码中已经说明了:

import java.util.*;
public class StringBufferDemo {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //从键盘上输入一个字符串str
        String str = "";
        System.out.println("请输入一个字符串:");
        Scanner in = new Scanner(System.in);
        str = in .nextLine();
        //根据字符串创建一个字符缓存类对象sb
        StringBuffer sb = new StringBuffer(str);
        //将字符缓存中的内容倒置
        sb.reverse();
        //计算出str与sb中对应位置字符相同的个数n
        int n = 0;
        for (int i = 0; i < str.length(); i++) {
            if (str.charAt(i) == sb.charAt(i))
                n++;
        }
        //如果所有字符都相等,即n的值等于str的长度,则str就是回文。
        if (n == str.length())
            System.out.println(str + "是回文!");
        else
            System.out.println(str + "不是回文!");
    }
}

以上就是java判断字符串是否是回文数的方法,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。