最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 字符串反轉(zhuǎn)實現(xiàn)代碼

 更新時間:2017年03月11日 17:01:19   投稿:lqh  
這篇文章主要介紹了 Java 字符串反轉(zhuǎn)實現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下

 Java 字符串反轉(zhuǎn)

問題:

給一個字符串,比如 “I love china”, 把字符反轉(zhuǎn)后變成 “china love I”

思路:

先把字符串從第一個字符與最后一個字符對換,第二個字符和倒數(shù)第二個字符對換,這樣,我們就把每一個單詞位置互換了。但是我們要求單詞里面字符的順序是不能變的,所以,我們要把每一個單詞里面的字符從頭到尾對換一下。這樣就可以得到我們想要的字符串了。

實現(xiàn):

因為這里兩次都會用到字符反轉(zhuǎn),所以我們就單獨寫一個swap的方法出來。我們對每個單詞進行發(fā)轉(zhuǎn)的時候,需要記錄每個單詞的起始點和結(jié)束點,對于第一個單詞,起始點是0,最后一個單詞,結(jié)束點是string.length() - 1。而中間的單詞,開始點和結(jié)束點是空格的位置。

代碼如下:

package test;

public class StringReverse{
 public static void swap(char[] arr,int begin,int end){//將字符反轉(zhuǎn)
 while(begin<end){
  char temp=arr[begin];
  arr[begin]=arr[end];
  arr[end]=temp;
  begin++;
  end--;
 }
 }
 public static String reverseWords(String st){
 int begin=0;
 char[] arr=st.toCharArray();
 swap(arr,0,arr.length-1);
 for(int i=1;i<arr.length;i++){   //將字符里面的每個單詞再反轉(zhuǎn)
  if(arr[i]==' '){
  swap(arr,begin,i-1);
  begin=i+1;
  }
 }
 swap(arr,begin,arr.length-1);   //最后的一個單詞反轉(zhuǎn)
 return new String(arr);
 }
 public static void main(String[] args){
 String s="I love you !";
 StringReverse sr=new StringReverse();
 String st=sr.reverseWords(s);
 System.out.println(st);
 }
}

StringReverse.java

利用JDK提供的方法:

public static void main(String[] args){ 
    Scanner sc=new Scanner(System.in); 
    String str=sc.nextLine(); 
    String[] sArr=str.split(" "); 
    List<String> list=new ArrayList<String>(); 
    list=Arrays.asList(sArr); 
    Collections.reverse(list); 
    for(String word:list){ 
      System.out.print(word+" "); 
    } 

} 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • Java編程之多線程死鎖與線程間通信簡單實現(xiàn)代碼

    Java編程之多線程死鎖與線程間通信簡單實現(xiàn)代碼

    這篇文章主要介紹了Java編程之多線程死鎖與線程間通信簡單實現(xiàn)代碼,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • kafka生產(chǎn)實踐(詳解)

    kafka生產(chǎn)實踐(詳解)

    下面小編就為大家?guī)硪黄猭afka生產(chǎn)實踐(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • Spring Boot項目如何同時支持HTTP和HTTPS協(xié)議的實現(xiàn)

    Spring Boot項目如何同時支持HTTP和HTTPS協(xié)議的實現(xiàn)

    這篇文章主要介紹了Spring Boot項目如何同時支持HTTP和HTTPS協(xié)議的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • SWT(JFace)體驗之Slider,Scale

    SWT(JFace)體驗之Slider,Scale

    SWT(JFace)體驗之Slider,Scale實現(xiàn)代碼。
    2009-06-06
  • Java利用跳躍表解決雙重隊列問題詳解

    Java利用跳躍表解決雙重隊列問題詳解

    這篇文章主要為大家詳細介紹了Java如何利用跳躍表來解決雙重隊列的問題。本文通過一個簡單的例題進行了講解,感興趣的小伙伴可以了解一下
    2022-12-12
  • Java并發(fā)編程——volatile關(guān)鍵字

    Java并發(fā)編程——volatile關(guān)鍵字

    這篇文章主要介紹了Java并發(fā)編程——volatile關(guān)鍵字的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java并發(fā)編程,感興趣的朋友可以了解下
    2020-10-10
  • 一篇文章帶你入門Java封裝

    一篇文章帶你入門Java封裝

    Java面向?qū)ο蟮娜筇匦裕悍庋b、繼承、多態(tài)。下面對三大特性之一封裝進行了總結(jié),需要的朋友可以參考下,希望能給你帶來幫助
    2021-08-08
  • 實戰(zhàn)分布式醫(yī)療掛號系統(tǒng)開發(fā)醫(yī)院科室及排班的接口

    實戰(zhàn)分布式醫(yī)療掛號系統(tǒng)開發(fā)醫(yī)院科室及排班的接口

    這篇文章主要為大家介紹了實戰(zhàn)分布式醫(yī)療掛號系統(tǒng)開發(fā)醫(yī)院科室及排班的接口,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪<BR>
    2022-04-04
  • springboot中的starter及自定義方法詳解

    springboot中的starter及自定義方法詳解

    這篇文章主要介紹了springboot中的starter及自定義方法詳解,Starter是Spring Boot中的一個非常重要的概念,Starter相當(dāng)于模塊,它能將模塊所需的依賴整合起來并對模塊內(nèi)的Bean根據(jù)環(huán)境(條件)進行自動配置,需要的朋友可以參考下
    2023-11-11
  • java策略枚舉:消除在項目里大批量使用if-else的優(yōu)雅姿勢

    java策略枚舉:消除在項目里大批量使用if-else的優(yōu)雅姿勢

    這篇文章主要給大家介紹了關(guān)于Java徹底消滅if-else的8種方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2021-06-06

最新評論

隆子县| 芜湖县| 柳林县| 兰坪| 加查县| 资源县| 成武县| 乌鲁木齐市| 丹巴县| 封开县| 凤山市| 宁化县| 迁西县| 临安市| 嘉禾县| 广西| 缙云县| 辽宁省| 四子王旗| 贡觉县| 无锡市| 庆云县| 内黄县| 新蔡县| 新乡县| 麻城市| 琼海市| 河池市| 玉溪市| 靖西县| 南阳市| 彭泽县| 招远市| 新宁县| 南通市| 大港区| 谢通门县| 镇宁| 班玛县| 恩施市| 手游|