您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關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判斷字符串是否是回文數的方法,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。