Java判斷字符串回文的代碼實例
首先,回文是指類似于“12345”,“abcdcba”的形式,即正念和反念都是一樣的字符串
判斷字符串是否是回文,這邊介紹2種辦法
1、將字符串翻轉(zhuǎn),判斷翻轉(zhuǎn)后的字符串和原字符串是否相等
public static void main(String[] args) { String s="abcdcba"; // 用StringBuilder的reverse方法將字符串反轉(zhuǎn) StringBuilder sb=new StringBuilder(s); String afterReverse=sb.reverse().toString(); //判斷反轉(zhuǎn)后的字符串與原字符串是否相等,可用compareTo,equals, int isequal=afterReverse.compareTo(s); //若相等則輸出0 if (isequal==0){ System.out.println("是回文"); }else System.out.println("不是回文"); }
注意:compareTo,equals判斷字符串均考慮大小寫,即大小寫視為不想等,若需要不考慮大小寫,則可以用equalsIgnoreCase
2、for循環(huán)依次判斷對應(yīng)字符是否相等
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; //比較有一個不想等時需要跳出循環(huán),否則只要最后一個比較成立,就會返回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; }
以上就是Java判斷字符串回文的代碼實例的詳細內(nèi)容,更多關(guān)于Java判斷字符串是否是回文請關(guān)注腳本之家其它相關(guān)文章!
- java 實現(xiàn)判斷回文數(shù)字的實例代碼
- Java版本的回文字算法(java版本)
- Java實現(xiàn)查找當(dāng)前字符串最大回文串代碼分享
- java計算任意位水仙花數(shù)示例(回文數(shù))
- java判斷回文數(shù)示例分享
- Java實現(xiàn)帶頭結(jié)點的單鏈表
- java實現(xiàn)單鏈表增刪改查的實例代碼詳解
- Java數(shù)據(jù)結(jié)構(gòu)之簡單鏈表的定義與實現(xiàn)方法示例
- Java實現(xiàn)單鏈表翻轉(zhuǎn)實例代碼
- java 實現(xiàn)單鏈表逆轉(zhuǎn)詳解及實例代碼
- Java實現(xiàn)單鏈表的各種操作
- 用JAVA實現(xiàn)單鏈表,檢測字符串是否是回文串
相關(guān)文章
寶塔面板配置及部署javaweb教程(全網(wǎng)最全)
這篇文章主要介紹了寶塔面板配置及部署javaweb教程(全網(wǎng)最全),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06java HttpClient傳輸json格式的參數(shù)實例講解
這篇文章主要介紹了java HttpClient傳輸json格式的參數(shù)實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01Spring MVC獲取查詢參數(shù)及路徑參數(shù)代碼實例
這篇文章主要介紹了Spring MVC獲取查詢參數(shù)及路徑參數(shù)代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-02-02SpringBoot的@GetMapping路徑匹配規(guī)則、國際化詳細教程
這篇文章主要介紹了SpringBoot的@GetMapping路徑匹配規(guī)則、國際化,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-11-11Java語言基于無向有權(quán)圖實現(xiàn)克魯斯卡爾算法代碼示例
這篇文章主要介紹了Java語言基于無向有權(quán)圖實現(xiàn)克魯斯卡爾算法代碼示例,具有一定參考價值,需要的朋友可以了解下。2017-11-11