[两种方法实现]给定一个长度,生成一个指定长度的字符串,这个字符串由随机的字母、数字或下划线组成。(不用必须同时包含字母、数字、下划线)

本文介绍两种生成随机字符串的方法,一种是通过ASCII值范围筛选字符,另一种是预设字符集随机选取。适合用于需要随机字符串的应用场景,如验证码、临时密码等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例如:randomString(5) -> hi2Pd

方法一:按照ASCII值判断数字字母下划线的范围

 public static StringBuffer randomString2(int num){
     //数字范围【0,9】,小写字母范围【97,122】,大写字母【65,90】,下划线95
     int temp;
     StringBuffer stringBuffer=new StringBuffer();
     while(stringBuffer.length()<5){
         temp=(int)(Math.random()*123);
         if(temp>=48&&temp<=57||temp>=97&&temp<=122||temp>=65&&temp<=90||temp==95){
            // System.out.println(temp);
             stringBuffer.append((char)temp);
         }

     }
     return stringBuffer;
 }

方法二:将字母数字下划线存入到一个字符数组中,随机生成下标组成字符串.

public static StringBuffer randomString(int num){
    StringBuffer stringBuffer=new StringBuffer();
    int randomIndex;
    char []randomChar={'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','A','B','C','D','E','F','G','H','I','J','K','L',
            'M','N','0','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9','_'};
    for(int i=0;i<num;i++) {
        randomIndex = (int) (Math.random() * randomChar.length);
        stringBuffer.append(String.valueOf(randomChar[randomIndex]));
    }
    return stringBuffer;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值