由A-Z和0-9生成五位随机数

实现方法

package com.example.demo.random;

import java.security.SecureRandom;
import java.util.*;

public class RandomTest {
    private static String generateWord() {
        String[] beforeShuffle = new String[]{"1", "2", "3", "4", "5", "6", "7",
                "8", "9", "0", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
                "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
                "W", "X", "Y", "Z"};

        // 第一组乱的字符串
        List list1 = Arrays.asList(beforeShuffle);
        Collections.shuffle(list1);
        StringBuilder sb1 = new StringBuilder();
        for (int i = 0; i < list1.size(); i++) {
            sb1.append(list1.get(i));
        }
        String afterShuffle1 = sb1.toString();

        // 第二组乱的字符串
        List list2 = Arrays.asList(beforeShuffle);
        Collections.shuffle(list2);
        StringBuilder sb2 = new StringBuilder();
        for (int i = 0; i < list2.size(); i++) {
            sb2.append(list2.get(i));
        }
        String afterShuffle2 = sb2.toString();

        // 第三组乱的字符串
        List list3 = Arrays.asList(beforeShuffle);
        Collections.shuffle(list3);
        StringBuilder sb3 = new StringBuilder();
        for (int i = 0; i < list3.size(); i++) {
            sb3.append(list3.get(i));
        }
        String afterShuffle3 = sb3.toString();

        // 第四组乱的字符串
        List list4 = Arrays.asList(beforeShuffle);
        Collections.shuffle(list4);
        StringBuilder sb4 = new StringBuilder();
        for (int i = 0; i < list4.size(); i++) {
            sb4.append(list4.get(i));
        }
        String afterShuffle4 = sb4.toString();

        // 第五组乱的字符串
        List list5 = Arrays.asList(beforeShuffle);
        Collections.shuffle(list5);
        StringBuilder sb5 = new StringBuilder();
        for (int i = 0; i < list5.size(); i++) {
            sb5.append(list5.get(i));
        }
        String afterShuffle5 = sb5.toString();

        // 选取随机数
        Random random = new Random(100);
        int randomInt1 = random.nextInt(36);
        int randomInt2 = random.nextInt(36);
        int randomInt3 = random.nextInt(36);
        int randomInt4 = random.nextInt(36);
        int randomInt5 = random.nextInt(36);

        String result1 = randomInt1 == 35 ? afterShuffle1.substring(randomInt1) : afterShuffle1.substring(randomInt1, randomInt1 + 1);
        String result2 = randomInt2 == 35 ? afterShuffle2.substring(randomInt2) : afterShuffle2.substring(randomInt2, randomInt2 + 1);
        String result3 = randomInt3 == 35 ? afterShuffle3.substring(randomInt3) : afterShuffle3.substring(randomInt3, randomInt3 + 1);
        String result4 = randomInt4 == 35 ? afterShuffle4.substring(randomInt4) : afterShuffle4.substring(randomInt4, randomInt4 + 1);
        String result5 = randomInt5 == 35 ? afterShuffle5.substring(randomInt5) : afterShuffle5.substring(randomInt5, randomInt5 + 1);

        // 返回的结果
        String result = result1 + result2 + result3 + result4 + result5;
        return result;
    }

    public static void main(String[] args) {
        Set<String> set = new HashSet<>(1024);
        for (int i = 0; i < 100000000; i++) {
            set.add(generateWord());
        }
        System.out.println("set集合大小:" + set.size());
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值