Java - 判斷字符串是否是回文


首先,回文是指類似於“12345”,“abcdcba”的形式,即正念和反念都是一樣的字符串

判斷字符串是否是回文,這邊介紹3種辦法

  1. 將字符串翻轉,判斷翻轉后的字符串和原字符串是否相等
     1 public static void main(String[] args) {
     2     String s="abcdcba";
     3     // 用StringBuilder的reverse方法將字符串反轉
     4     StringBuilder sb=new StringBuilder(s);
     5     String afterReverse=sb.reverse().toString();
     6     //判斷反轉后的字符串與原字符串是否相等,可用compareTo,equals,
     7     int isequal=afterReverse.compareTo(s);  //若相等則輸出0
     8     if (isequal==0){
     9         System.out.println("是回文");
    10     }else
    11         System.out.println("不是回文");
    12 }

    注意:compareTo,equals判斷字符串均考慮大小寫,即大小寫視為不想等,若需要不考慮大小寫,則可以用equalsIgnoreCase

  2. for循環依次判斷對應字符是否相等
     1     public static void main(String[] args) {
     2         String s="12344321";
     3         int l=s.length();
     4         System.out.println(l/2);
     5         int result=1;
     6         //從中間開始往兩邊比較
     7         for (int i=0;i<l/2;i++){
     8             if (s.charAt(i)==s.charAt(l-i-1)){
     9                 result=0;
    10             }else{
    11                 result=1;
    12                 break;  //比較有一個不想等時需要跳出循環,否則只要最后一個比較成立,就會返回result=0
    13             }
    14         }
    15         if (result==0){
    16             System.out.println("是回文");
    17         }else {
    18             System.out.println("不是回文");
    19         }
    20     }
  3. 其他待補充,例如將字符串從中間拆分,再比較,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM