請求指教。。。無知的小白的窩
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);
?? ??? ?}
??? }
2019-07-14
stringList.add(st.toString());
這行代碼要寫到第一個循環的最底部,不然你這個就添加一個很長的字符串對象進List
另外新建StringBuilder對象要放到do循環跟第二個for循環之間,每次獲取下一個隨機字符串前,都要初始化StringBuilder對象去清空,不然前面獲取的字符串一直都在。
2019-07-02
放到第一個for循環里,作用:每生成一個字符串,清空一次。
2019-06-07
你生成一個,應該把你st里面的值清空,不然他就一直附加
2019-05-17
nice,寫的很好,學了多久呀這么厲害