继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

随机字符串的拼接和处理

慕粉3848213
关注TA
已关注
手记 5
粉丝 5
获赞 110
思路:

思路:

  1. 需要十个随机数,那么就是一个 for 循环,循环十次了
  2. 需要的随机字符串是十位以内的,那么就获取一个 10 以内的随机整数
  3. for循环刚才获取到的 10 以内的随机整数,假如获取到的随机数为0的话,就赋值为 null
  4. 在这个随机整数的循环中,通过随机获取到0-9,a-z,A-Z这个字符串的任意字符,然后添加到 StringBuffer 中
  5. 在 do...while 中做字符串不为null 和重复的判断
  6. 和老师前面讲的就差不多了。

public class CollectionsTest {

    /**
     * 1.创建完 List<String> 之后,往其中添加十条随机字符串
     * 2.每条字符串的长度为 10 以内的随机整数
     * 3.每条字符串的每个字符都为随机生成的字符,字符可以重复
     * 4.每条随机字符串不可重复
     */
    public void testSort3() {
        String randoms = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        List<String> stringList = new ArrayList<>();
        String k;
        for (int i = 0; i < 10; i++) {
            do {
                Random random = new Random();
                int nextInt = random.nextInt(10);
                StringBuffer sb = new StringBuffer();
                if (nextInt == 0) {
                    k = null;
                    continue;
                }
                for (int j = 0; j < nextInt; j++) {
                    sb.append(randoms.charAt(random.nextInt(randoms.length())));
                }
                k = sb.toString();
            } while (k == null || stringList.contains(k));
            stringList.add(k);
            System.out.println("生成的随机数:" + k);
        }
        System.out.println("-------排序前----------");
        for (String in : stringList) {
            System.out.println(in);
        }
        Collections.sort(stringList);
        System.out.println("-------排序后----------");
        for (String in : stringList) {
            System.out.println(in);
        }
    }

    public static void main(String[] args) {
        CollectionsTest ct = new CollectionsTest();
        ct.testSort3();
    }
}
打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP