作者iori9100 (呵呵)
看板java
标题[问题] 请问如何把字元的排列顺序打乱?
时间Fri Apr 21 00:12:08 2017
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而已不是改字元
麻烦前辈指教一下...感恩
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.163.97.186
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1492704730.A.588.html
1F:推 swallowcc: 作法很多,像是用回圈把字拆开塞进list shuffle也可以 04/21 00:35
2F:推 LPH66: 从打乱的 index 输出打乱的结果应该很容易吧? 04/21 02:25
3F:→ LPH66: 先不要想一口气输出, 试试一次一个字输出 04/21 02:27
4F:→ LPH66: 抓到这个怎麽写的感觉之後去查 StringBuilder 04/21 02:28
5F:→ iori9100: 可是我打乱的INDEX 输出 就是整句了 只有句子上下颠倒 04/21 15:15
6F:推 x51811danny: Strong.split 04/22 13:29
7F:→ ssccg: 上面说的index不是你list的index,是你取句子中字元的index 04/22 13:55
8F:→ ssccg: .charAt(i) ← 这个i 04/22 13:55
9F:→ ssccg: 你现在用0~c-1照顺序,如果改成 0~c-1随机排列的index去取 04/22 13:56
10F:→ ssccg: 不就是打乱的吗 04/22 13:56
11F:推 LPH66: 以你的程式来说, 不是 0~aaa 打乱, 是 0~c 打乱 04/22 17:13