日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Java實(shí)現(xiàn)單詞倒序輸出

瀏覽:138日期:2022-08-26 17:29:35

如何將一段單詞倒序輸出?把“Hello Java Hello China”變成“China Hello Java Hello”?

看起來好像很簡單,只需要把字符串先分割成單詞,然后加入一個(gè)StringBuilder或者StringBuffer中,最后再使用toString方法即可,現(xiàn)在來實(shí)現(xiàn)一下:

/** * @author Frank * @create 2017/11/24 * @description */public class Test { public static void main(String[] args) { String src = 'http://www.b3g6.com/bcjs/Hello Java Hello China';//需要處理的字符串 String[] arr = src.split(' ');//按空格分割 int length = arr.length;//計(jì)算數(shù)組長度 StringBuilder sb = new StringBuilder(src.length());//新建一個(gè)StringBuilder對(duì)象 for (int i=length-1;i>=1;i--){sb.append(arr[i]+' ');//將字符串依次加入StringBuilder中 } sb.append(arr[0]);//最后一個(gè)單詞不加空格 System.out.println(sb.toString());//輸出 }}

China Hello Java Hello

好的,現(xiàn)在就完美的解決了問題。

但事實(shí)上,通常并不是全用空格分隔開來的,而是有逗號(hào),句號(hào),引號(hào)等,那么這該如何處理呢?

那就只能一個(gè)字符一個(gè)字符判斷了,用charAt()來判斷字符是否為逗號(hào)句號(hào)或者引號(hào),空格,如果是的話就知道到了分隔點(diǎn)了,如果不是的話就加入一個(gè)臨時(shí)的StringBuilder對(duì)象,代碼如下:

/** * @author Frank * @create 2017/11/24 * @description */public class Test2 { public static void main(String[] args) { String src = 'http://www.b3g6.com/bcjs/Hello Java,Hello China.';//需要處理的字符串 StringBuilder tmp = new StringBuilder(20);//定義一個(gè)StringBuilder對(duì)象 StringBuilder goal = new StringBuilder(src.length());//定義一個(gè)StringBuilder對(duì)象來存放最終要輸出的信息 char c;//定義一個(gè)字符變量 for (int i=src.length()-1;i>=0;i--){ c = src.charAt(i);//從后往前取字符 if(c ==’ ’ || c == ’,’ || c == ’.’){//判斷是否為分隔字符goal.append(tmp);//如果是的話就把tmp加入到goal中來goal.append(c);//在把分隔字符也一起加入tmp.delete(0,tmp.length());//清空tmp }else {tmp.insert(0,c);//如果不是分隔字符,說明單詞未完整,繼續(xù)加入tmp中 } } if (!tmp.equals('')){ goal.append(tmp);//如果tmp中還有內(nèi)容,在添加到goal中 } System.out.println(goal.toString());//輸出 }}

輸出如下:

.China Hello,Java Hello

好像沒什么問題了。

現(xiàn)在難度進(jìn)一步升級(jí),如果有一個(gè)20M的字符串,“Hello_,_China_..._Bye.”(...代表中間省略的部分),單詞之間用空格隔開,現(xiàn)在需要把所有單詞全部顛倒順序,要求效率不能太低。不看這個(gè)20M的話,好像沒什么難度,關(guān)鍵就在于這個(gè)20M,肯定不能像第一種方式用split分割,那樣的話會(huì)創(chuàng)建一個(gè)很大的字符串?dāng)?shù)組,浪費(fèi)很多空間。

所以這里采用第二種方式。

我們先隨機(jī)生成一個(gè)字符串,然后再使用第二種方式進(jìn)行處理:

/** * @author Frank * @create 2017/11/24 * @description */public class Test3 { public static void main(String[] args) { long time = 0; StringBuilder sb = new StringBuilder(); //先生成一個(gè)比較大的字符串 for (int i=0;i<10000000;i++){ sb.append(i+' '); } System.out.println('字符串長度:'+sb.length()); //開始計(jì)算時(shí)間 time = System.currentTimeMillis(); StringBuilder tmp = new StringBuilder(20);//定義一個(gè)StringBuilder對(duì)象存放臨時(shí)數(shù)據(jù) StringBuilder goal = new StringBuilder(sb.length());//定義一個(gè)StringBuilder對(duì)象來存放最終要輸出的信息 char c;//定義一個(gè)字符變量 for (int i=sb.length()-1;i>=0;i--){ c = sb.charAt(i);//從后往前取字符 if(c ==’ ’){//判斷是否為分隔字符goal.append(tmp);//如果是的話就把tmp加入到goal中來goal.append(c);//在把分隔字符也一起加入tmp.delete(0,tmp.length());//清空tmp }else {tmp.insert(0,c);//如果不是分隔字符,說明單詞未完整,繼續(xù)加入tmp中 } } if (!tmp.equals('')){ goal.append(tmp);//如果tmp中還有內(nèi)容,在添加到goal中 } System.out.println(System.currentTimeMillis()-time);//輸出運(yùn)行時(shí)間 }}

輸出如下:

字符串長度:78888890608

608毫秒,速度還ok,生成字符串還是要花挺多時(shí)間的,因?yàn)橐恢币M(jìn)行內(nèi)存復(fù)制,如果在循環(huán)次數(shù)后再加一個(gè)0,就會(huì)內(nèi)存不足了。。。。

Exception in thread 'main' java.lang.OutOfMemoryError: Java heap spaceat java.util.Arrays.copyOf(Arrays.java:3332)at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:448)at java.lang.StringBuilder.append(StringBuilder.java:136)at com.frank.string.test1.Test3.main(Test3.java:14)

至此,本篇問題討論完畢,如果有更好更快的方法,歡迎留言交流討論。

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲午夜国产成人| 美国三级日本三级久久99| 亚洲欧洲国产精品一区| 日本不卡一区二区三区| 欧美日韩精品一区二区三区视频| 国产图片一区| 精品中文字幕一区二区三区四区| 捆绑调教美女网站视频一区| 麻豆91精品视频| 精品日韩视频| 午夜在线一区| 日本午夜精品久久久久| 欧美交a欧美精品喷水| 精品久久亚洲| 久久精品播放| 亚洲18在线| 国产极品久久久久久久久波多结野| 国产精品午夜av| 高清av不卡| 日韩精品一级中文字幕精品视频免费观看| 日韩高清一区在线| 国产96在线亚洲| 老牛影视一区二区三区| 欧美日韩一区二区国产| 久久精品一区二区国产| 荡女精品导航| 亚洲精品91| 亚洲欧洲美洲国产香蕉| 麻豆精品av| 亚洲成人精品| 日韩三级视频| 91欧美日韩| 国产精品91一区二区三区| 亚洲日本三级| 久久精品国产99国产精品| 欧美亚洲国产精品久久| 亚洲人成高清| av亚洲一区二区三区| 日韩一区二区三区精品视频第3页 日韩一区二区三区免费视频 | 国产白浆在线免费观看| 一区二区自拍| 欧美精品aa| 亚洲欧洲日本mm| 精品国产网站| 蜜桃传媒麻豆第一区在线观看| 免费一级欧美在线观看视频| 91高清一区| 久久中文字幕导航| 久热综合在线亚洲精品| 日韩88av| 69精品国产久热在线观看| 欧美中文一区二区| 国产精品乱战久久久| 亚洲免费高清| 日韩欧美午夜| 国产精品调教| 视频一区国产视频| 日韩欧美二区| 精品一区二区三区中文字幕在线| 国产日韩专区| 久久久精品久久久久久96| 久久国产尿小便嘘嘘| 五月综合激情| 97精品在线| 国产黄色精品| 亚洲免费福利一区| 激情久久婷婷| 中文字幕在线高清| 日本午夜精品视频在线观看| 国产亚洲亚洲| 国精品一区二区| 成人亚洲一区二区| 久久久国产精品网站| 亚洲精品影视| 欧美成人综合| 国产精品毛片久久| 欧美国产另类| 国产欧美另类| 亚洲精品成人一区| 美女网站久久| 亚洲欧美日韩视频二区| 久久久久.com| 日韩成人a**站| 久久一区国产| 国产免费久久| 国产欧美日韩一级| 日本va欧美va欧美va精品| 综合一区av| 中文字幕乱码亚洲无线精品一区| 欧美日韩国产免费观看视频| av在线日韩| 在线视频观看日韩| 免费黄色成人| 在线日韩欧美| 一区二区自拍| 日韩中文字幕亚洲一区二区va在线| 午夜久久免费观看| 久久99伊人| 亚洲资源网站| 日本欧美大码aⅴ在线播放| 青青草伊人久久| 国产免费播放一区二区| 欧美激情 亚洲a∨综合| 久久精品天堂| 一区二区精品伦理...| 高清av一区| 日韩精品dvd| 国产一区清纯| 国产精品女主播一区二区三区| 9国产精品视频| 亚洲免费资源| 国产精品传媒麻豆hd| 麻豆成人av在线| 欧美香蕉视频| 最新亚洲激情| 91精品日本| 国产中文字幕一区二区三区| 日本不良网站在线观看| 亚洲黑丝一区二区| 午夜在线一区二区| 日韩二区三区在线观看| 国产激情欧美| 欧洲一级精品| 免费一级片91| 国产精品毛片久久久| 中文字幕在线看片| 国产精品美女久久久浪潮软件| 日本 国产 欧美色综合| 69堂免费精品视频在线播放| 麻豆一区二区在线| 一本大道色婷婷在线| 久久亚洲视频| 久久免费福利| 欧美日韩精品在线一区| 快she精品国产999| 国产精品最新自拍| 久久婷婷激情| 日韩精品社区| 精品久久网站| 丝袜美腿亚洲一区二区图片| 国产精品地址| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 国产精品中文字幕制服诱惑| a天堂资源在线| 美女精品网站| 国产成人精品一区二区三区在线| 一区久久精品| 国模精品一区| 一区二区三区午夜视频| 成人在线超碰| 久久最新视频| 日韩精品永久网址| 青青青国产精品| 欧美日韩国产高清| 久久精品国产一区二区| 三级欧美在线一区| 成人av三级| 欧美在线看片| 99国产精品视频免费观看一公开 | 日韩国产一二三区| 激情婷婷综合| 国产精品欧美在线观看| 国产模特精品视频久久久久| 国产精品日韩精品在线播放| 亚洲欧美视频一区二区三区| 成人国产精品久久| 免费不卡在线视频| av在线日韩| 国产精品va视频| 蜜桃久久久久久久| 欧美福利在线| 国产成人久久精品一区二区三区| 亚洲2区在线| 国产一级一区二区| 日韩欧美综合| 精品久久不卡| 国产乱码精品一区二区亚洲| 亚洲一区二区三区无吗| 国产精品毛片久久| 国产精品chinese| 日韩专区欧美专区| 午夜欧美精品| 欧美gv在线| 国产 日韩 欧美 综合 一区| 国产精品美女久久久久久不卡| 中文字幕日韩高清在线| 性欧美69xoxoxoxo| 亚洲1234区| 97精品中文字幕| 精品国产一区二| 91精品一区| 日韩欧美久久| 三级亚洲高清视频| 色婷婷久久久| 日韩欧美精品| 日韩在线二区| 成人啊v在线| 久久影视一区| 欧美国产91| 欧美日韩国产亚洲一区|