[问题] 请问如何把字符的排列顺序打乱?

楼主: 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