亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請求指教。。。無知的小白的窩

public void testSort3(){
?? ??? ?List<String> stringList =new ArrayList<String>();
?? ??? ?String se ="zxcvbnmasdfghjklqwertyuiop1234567890QWERTYUIOPASDFGHJKLZXCVBNM";
?? ??? ?StringBuilder st =new StringBuilder();
?? ??? ?Random random =new Random();
?? ??? ?int b ;
?? ??? ?for(int i =0;i<10;i++){
?? ??? ??? ? b=random.nextInt(10)+1;
?? ??? ??? ?do{
?? ??? ??? ?for(int j =0;j<b;j++){
?? ??? ??? ??? ?int k =random.nextInt(se.length());
?? ??? ??? ??? ?st.append(se.charAt(k));
?? ??? ??? ?}?? ?
?? ??? ?? }while(stringList.contains(st));
?? ??? ??? ?
?? ??? ?}
?? ??? ?stringList.add(st.toString());
?? ??? ?System.out.println("--------排序前------");
??? ???? for (String string : stringList) {
??? ??? ??? ?System.out.println("元素:"+string);
?? ??? ?}
? ?? ???? System.out.println("--------排序后------");
? ?? ???? Collections.sort(stringList);
? ?? ???? for (String string : stringList) {
?? ??? ??? ?System.out.println("元素:"+string);
?? ??? ?}
??? }

正在回答

4 回答

stringList.add(st.toString());

這行代碼要寫到第一個循環的最底部,不然你這個就添加一個很長的字符串對象進List

另外新建StringBuilder對象要放到do循環跟第二個for循環之間,每次獲取下一個隨機字符串前,都要初始化StringBuilder對象去清空,不然前面獲取的字符串一直都在。

0 回復 有任何疑惑可以回復我~
?StringBuilder?st?=new?StringBuilder();

放到第一個for循環里,作用:每生成一個字符串,清空一次。

0 回復 有任何疑惑可以回復我~

你生成一個,應該把你st里面的值清空,不然他就一直附加

0 回復 有任何疑惑可以回復我~

nice,寫的很好,學了多久呀這么厲害

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

請求指教。。。無知的小白的窩

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號