Java項(xiàng)目中如何實(shí)現(xiàn)反轉(zhuǎn)字符串?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
創(chuàng)新互聯(lián)建站成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元青白江做網(wǎng)站,已為上家服務(wù),為青白江各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
Java 字符串反轉(zhuǎn)
問題:
給一個(gè)字符串,比如 “I love china”, 把字符反轉(zhuǎn)后變成 “china love I”
思路:
先把字符串從第一個(gè)字符與最后一個(gè)字符對(duì)換,第二個(gè)字符和倒數(shù)第二個(gè)字符對(duì)換,這樣,我們就把每一個(gè)單詞位置互換了。但是我們要求單詞里面字符的順序是不能變的,所以,我們要把每一個(gè)單詞里面的字符從頭到尾對(duì)換一下。這樣就可以得到我們想要的字符串了。
實(shí)現(xiàn):
因?yàn)檫@里兩次都會(huì)用到字符反轉(zhuǎn),所以我們就單獨(dú)寫一個(gè)swap的方法出來。我們對(duì)每個(gè)單詞進(jìn)行發(fā)轉(zhuǎn)的時(shí)候,需要記錄每個(gè)單詞的起始點(diǎn)和結(jié)束點(diǎn),對(duì)于第一個(gè)單詞,起始點(diǎn)是0,最后一個(gè)單詞,結(jié)束點(diǎn)是string.length() - 1。而中間的單詞,開始點(diǎn)和結(jié)束點(diǎn)是空格的位置。
代碼如下:
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++){ //將字符里面的每個(gè)單詞再反轉(zhuǎn) if(arr[i]==' '){ swap(arr,begin,i-1); begin=i+1; } } swap(arr,begin,arr.length-1); //最后的一個(gè)單詞反轉(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+" "); } }
看完上述內(nèi)容,你們掌握J(rèn)ava項(xiàng)目中如何實(shí)現(xiàn)反轉(zhuǎn)字符串的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
分享標(biāo)題:Java項(xiàng)目中如何實(shí)現(xiàn)反轉(zhuǎn)字符串
轉(zhuǎn)載注明:http://aaarwkj.com/article0/jejdoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、動(dòng)態(tài)網(wǎng)站、網(wǎng)站排名、網(wǎng)站營(yíng)銷、網(wǎng)頁(yè)設(shè)計(jì)公司、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)