[問題] 請問如何把字元的排列順序打亂?

作者: iori9100 (呵呵)   2017-04-21 00:12:08
List<String> list = new ArrayList<>();
list.add("今天好熱喔喔喔");
list.add("會有雷陣與雨雨與雨");
list.add("外出齣齣要帶傘");
list.add("不濕濕然會淋濕");
list.add("黑貓貓凹貓貓貓貓貓關心你");
int aaa = list.size();
int bbb = 0;
while(bbb<aaa){
int c= list.get(bbb).length();
for(int i =0; i<c;i++){
char z = list.get(bbb).charAt(i);
String aa = ""+z;
System.out.print(aa);
}
System.out.println();
bbb++;
}
出來結果是這樣
今天好熱喔喔喔
會有雷陣與雨雨與雨
外出齣齣要帶傘
不濕濕然會淋濕
黑貓貓凹貓貓貓貓貓關心你
如果我只想要 出一個 喔今天喔熱好喔(只要一句) 這樣字元順序亂掉的結果
我需要加什麼呢?
上網爬了文 大部分都是教random 亂數產生不重複的數字
或用 Collectios.shuffle(list);這樣
可是輸出結果是 改insex而已不是改字元
麻煩前輩指教一下...感恩
作者: swallowcc (guest)   2017-04-21 00:35:00
作法很多,像是用迴圈把字拆開塞進list shuffle也可以
作者: LPH66 (-6.2598534e+18f)   2017-04-21 02:25:00
從打亂的 index 輸出打亂的結果應該很容易吧?先不要想一口氣輸出, 試試一次一個字輸出抓到這個怎麼寫的感覺之後去查 StringBuilder
作者: iori9100 (呵呵)   2017-04-21 15:15:00
可是我打亂的INDEX 輸出 就是整句了 只有句子上下顛倒
作者: x51811danny (人)   2017-04-22 13:29:00
Strong.split
作者: ssccg (23)   2017-04-22 13:55:00
上面說的index不是你list的index,是你取句子中字元的index.charAt(i) ← 這個i你現在用0~c-1照順序,如果改成 0~c-1隨機排列的index去取不就是打亂的嗎
作者: LPH66 (-6.2598534e+18f)   2017-04-22 17:13:00
以你的程式來說, 不是 0~aaa 打亂, 是 0~c 打亂

Links booklink

Contact Us: admin [ a t ] ucptt.com