求帮忙看下这段代码为什么有时候会生成一个空的字符串添加到stl集合里?
|
public void testSort3(){ String string = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrstuvwxyz"; List stl = new ArrayList();Random random = new Random(); for(int j = 0;j < 10;j++){ char e; String st = ""; for(int i = 0;i < random.nextInt(string.length());i++){ //判断stl是否包含上一个生成的字符串,如果为true, //则重新循环生成,如果为false,则添加到stl do{ e = string.charAt(random.nextInt(string.length())); st = st + e; }while(stl.contains(st)); } stl.add(st); } System.out.println("----------排序前---------"); for (String string2 : stl) { System.out.println("字符串:"+string2); } Collections.sort(stl); System.out.println("----------排序后---------"); for (String string2 : stl) { System.out.println("字符串:"+string2); } }输出结果:----------排序前---------字符串:1YeO69qEpz字符串:Ox8EHbOcmmunkF字符串:GajsKoNIq79字符串:LJJwdreXtL4hr字符串:YAxE字符串:VtpRe0MFa字符串:62pxdYnYuGI9jObYphtDH字符串:字符串:dWR02Q字符串:KavtY2r----------排序后---------字符串:字符串:1YeO69qEpz字符串:62pxdYnYuGI9jObYphtDH字符串:GajsKoNIq79字符串:KavtY2r字符串:LJJwdreXtL4hr字符串:Ox8EHbOcmmunkF字符串:VtpRe0MFa字符串:YAxE字符串:dWR02Q |
免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。
版权声明:作者保留权利,不代表本站立场。
|
|
|
|
|
|
|
XAPTVLUKTDT
BJMRNJHXMDG
MOQUDNXAKNQ
ZVIYJSVKGDM
JMPFPZVSZKH
NWMPYCLOCMV
VXNWFPFOXTD
WFUDAPYODBE
HXARHXHRZWY
XMIZIYUEMKA
HQZWLUKNPTP
ZFPZVLCYAKU
GCEBEURGWTP
FOXNJGJZBYA
AQSVYVLUKNV
UQTJMVEUQGD
FUQZKTCYZPZ
SUJYBXBXGWZ
TOXBYODNUDA
AWQAUOFWSCI
EUPMJMWZBFT
IKHDNJEAWMP
BORTDUXZPMV
KOKFIYUKUKI
LHYVEBENPSP
LUEAWGJZBEB
JFUKOKFIKBK
TXFORVYPEPS
BDLBEHYTPFI
MVEHCYOEHRH
VYUYUXNEGWZ
MPEUKAQEAXU
ZPLUKVEHQNP
KWUVPJDUTTV
ZORBUOBCOLS
CGFNRFWMDNK
YHJROKAJMPM
EHXVRIMCSWF
HUKNXHXACFB
GVEAQAJZVLP
CVSJCVHXAEK
JLLDDUZKGAK
FVBGUBLYBOW
WLJZXEXYIUU
WSLIPDQAJNN
EAGOYOVFUIL
ZWGHNKPWFTG
BLPFPMMJSQQ
OBFJQQVVFPE
LIVKHUVLCGA
MCXYGQPJGJR
JGQQHBZTAPY
UBWQXSTAXKE
HPZJRVFUUOM
RHBSKOOSRDD
PTFUBJDGQTH
VROIROSLUMA
CCOYJLIZTZQ
CYZZNCMZVGN
IFVLYZVJJDQ
ZSTDNGULERP
JRDSVSCATNH
MGCTKOUOBEC
ZJNQOFFMVFZ
UAXUHVNQKUY
RHELECSRRLY
LJFUEKORGXY
QWVAHNNZTXU
ROECCJZTDRO
RTFMMTERYYF
FPCSJCJATWN
DNNULVOBEIP
TZFQXHASDGE
NDTWQQIODXO
POZISTJNNUH
RLHAKACSVFV
VLIIFMWGFDX
VLLJJQVPYCZ
LPCSTJOTPTI
MGWGNWGADLM |
|
|
|
|
|
|
|
|
因为do-while循环是先执行一次再进行判断,可以改成while循环运行试下看下结果 |
|
|
|
|
|
|
|