欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java判斷字符串回文的代碼實例

 更新時間:2020年02月21日 14:14:25   作者:愛穿新衣服的姑涼  
在本篇文章里小編給各位整理的是一篇關(guān)于Java判斷字符串回文的代碼實例內(nèi)容,需要的朋友們可以跟著學(xué)習(xí)參考下。

首先,回文是指類似于“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)文章!

相關(guān)文章

  • 寶塔面板配置及部署javaweb教程(全網(wǎng)最全)

    寶塔面板配置及部署javaweb教程(全網(wǎng)最全)

    這篇文章主要介紹了寶塔面板配置及部署javaweb教程(全網(wǎng)最全),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • java8 toMap問題(key重復(fù)如何解決)

    java8 toMap問題(key重復(fù)如何解決)

    這篇文章主要介紹了java8 toMap問題(key重復(fù)如何解決),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • IDEA報錯之前言中不允許有內(nèi)容問題及解決

    IDEA報錯之前言中不允許有內(nèi)容問題及解決

    當(dāng)使用IntelliJ IDEA時,可能會遇到報錯信息“前言中不允許有內(nèi)容”,這通常是由于XML文件是以帶有BOM頭的UTF-8格式保存的,導(dǎo)致IDE的解析出錯,解決辦法是在IDEA中調(diào)整文件編碼設(shè)置為無BOM的UTF-8,然后用文本編輯器(如Notepad++)
    2024-10-10
  • java HttpClient傳輸json格式的參數(shù)實例講解

    java HttpClient傳輸json格式的參數(shù)實例講解

    這篇文章主要介紹了java HttpClient傳輸json格式的參數(shù)實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • Spring MVC獲取查詢參數(shù)及路徑參數(shù)代碼實例

    Spring MVC獲取查詢參數(shù)及路徑參數(shù)代碼實例

    這篇文章主要介紹了Spring MVC獲取查詢參數(shù)及路徑參數(shù)代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • RocketMQ中的通信模塊詳解

    RocketMQ中的通信模塊詳解

    這篇文章主要介紹了RocketMQ中的通信模塊詳解,RocketMQ消息隊列集群主要包括NameServer、Broker(Master/Slave)、Producer、Consumer4個角色,本文我們簡單來講解一下,需要的朋友可以參考下
    2024-01-01
  • Java設(shè)計模式中的外觀模式詳解

    Java設(shè)計模式中的外觀模式詳解

    外觀模式為多個復(fù)雜的子系統(tǒng),提供了一個一致的界面,使得調(diào)用端只和這個接口發(fā)生調(diào)用,而無須關(guān)系這個子系統(tǒng)內(nèi)部的細節(jié)。本文將通過示例詳細為大家講解一下外觀模式,需要的可以參考一下
    2023-02-02
  • Java讀取文件方法匯總

    Java讀取文件方法匯總

    這篇文章主要為大家詳細介紹了Java讀取文件方法,按字節(jié)讀取文件內(nèi)容、按字符讀取文件內(nèi)容、隨機讀取文件內(nèi)容等,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • SpringBoot的@GetMapping路徑匹配規(guī)則、國際化詳細教程

    SpringBoot的@GetMapping路徑匹配規(guī)則、國際化詳細教程

    這篇文章主要介紹了SpringBoot的@GetMapping路徑匹配規(guī)則、國際化,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-11-11
  • Java語言基于無向有權(quán)圖實現(xiàn)克魯斯卡爾算法代碼示例

    Java語言基于無向有權(quán)圖實現(xiàn)克魯斯卡爾算法代碼示例

    這篇文章主要介紹了Java語言基于無向有權(quán)圖實現(xiàn)克魯斯卡爾算法代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11

最新評論