为了账号安全,请及时绑定邮箱和手机立即绑定

前端老司机玩的Java练习题6-5答案,求关注及评论!!!

package com.imooc.collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class SortTest {	
    public List<String> listStr;	
    public Random random;	
    public SortTest() {		l
        istStr = new ArrayList<String>();		
        random = new Random();	
    }
    //创建随机字符串	
    public void createListStr() {		
        String str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";		
        int len = str.length();
     //	添加10个随机字符串		
         for (int i = 0; i < 10; i++) {			
             int itemLen = random.nextInt(6) + 5; // 5-10包括5和10			
             int start, end;			
             String resStr = "";
             //	生产长度为5-10的随机字符串			
             for (int k = 0; k < itemLen; k++) {				
                 String item;				
                 do {					
                     start = random.nextInt(len - 1);					
                     end = start + 1;					
                     item = str.substring(start, end);				
                 } while (resStr.indexOf(item) > -1);				
                 resStr += item;			
             }			
             listStr.add(resStr);		
         }	
     }
     //字符串排序	
     public void shortListStr() {		
         Collections.sort(listStr);	
     }	
     public static void main(String[] args) {		
         SortTest st = new SortTest();		
         st.createListStr();		
         st.shortListStr();		
         System.out.println(st.listStr.toString());	
     }
}

输出结果:

[508U4jw, CApkURXuYv, CtQ7i8, CuazfBHO, KN17Aac, MwJ9Ra, blqTcd, hNgt4J8oBi, hoBvzrdW, kcbPj]


正在回答

2 回答

想问一下while(resStr.indexOf(item)>-1)是判断每条生成的字符串中不能出现重复的单个字符吗?

还有就是start和end的范围我有点想不明白,其余的就是膜拜老司机了

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

不知道说什么话好。。。。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409790    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

前端老司机玩的Java练习题6-5答案,求关注及评论!!!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信