本篇文章給大家分享的是有關(guān)java判斷字符串是否是回文數(shù)的方法,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
目前創(chuàng)新互聯(lián)已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管運(yùn)營、企業(yè)網(wǎng)站設(shè)計(jì)、梧州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。回文數(shù)(或回文數(shù))是指一個(gè)像14641這樣“對稱”的數(shù),即:將這個(gè)數(shù)的數(shù)字按相反的順序重新排列后,所得到的數(shù)和原來的數(shù)一樣。
十進(jìn)制的回文數(shù):
10基數(shù)下所有單個(gè)數(shù)字{0、1、2、3、4、5、6、7、8、9}都是回文數(shù);兩位數(shù)的回文數(shù)有9個(gè):{11, 22, 33, 44, 55, 66, 77, 88, 99}。
三位數(shù)中有90個(gè)回文數(shù):
{101, 111, 121, 131, 141, 151, 161, 171, 181, 191, ..., 909, 919, 929, 939, 949, 959, 969, 979, 989, 999}
四位數(shù)中也有90個(gè)回文數(shù):
{1001, 1111, 1221, 1331, 1441, 1551, 1661, 1771, 1881, 1991, ..., 9009, 9119, 9229, 9339, 9449, 9559, 9669, 9779, 9889, 9999},
因此總共有199個(gè)小于104的回文數(shù)。小于105的回文數(shù)有1099個(gè),對其它的10的整數(shù)冪10n來說,分別有:1999, 10999, 19999, 109999, 199999, 1099999, ... (OEIS中的數(shù)列A070199)個(gè)回文數(shù)。
下面介紹一種簡單的判斷方法,具體實(shí)現(xiàn)代碼中已經(jīng)說明了:
import java.util.*; public class StringBufferDemo { public static void main(String[] args) { // TODO Auto-generated method stub //從鍵盤上輸入一個(gè)字符串str String str = ""; System.out.println("請輸入一個(gè)字符串:"); Scanner in = new Scanner(System.in); str = in .nextLine(); //根據(jù)字符串創(chuàng)建一個(gè)字符緩存類對象sb StringBuffer sb = new StringBuffer(str); //將字符緩存中的內(nèi)容倒置 sb.reverse(); //計(jì)算出str與sb中對應(yīng)位置字符相同的個(gè)數(shù)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判斷字符串是否是回文數(shù)的方法,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。