Java随机生成字符串举例

Java代码:

package tools.randomstring;

import org.apache.commons.lang.RandomStringUtils;

import java.util.Random;

public class RandomString {

    /**
     * 1、生成的字符串每个位置都有可能是str中的一个字母或数字,需要导入的包是import java.util.Random;
     *
     * @param length:用户要求产生字符串的长度
     */
    public static String getRandomString(int length) {
//        String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        String str = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜";
        Random random = new Random();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < length; i++) {
            int number = random.nextInt(str.length());
            sb.append(str.charAt(number));
        }
        return sb.toString();
    }

    /**
     * 2、可以指定某个位置是a-z、A-Z或是0-9
     */
    public static String getRandomString2(int length) {
        Random random = new Random();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < length; i++) {
            int number = random.nextInt(3);
            long result = 0;
            switch (number) {
                case 0:
                    result = Math.round(Math.random() * 25 + 65);
                    sb.append(String.valueOf((char) result));
                    break;
                case 1:
                    result = Math.round(Math.random() * 25 + 97);
                    sb.append(String.valueOf((char) result));
                    break;
                case 2:
                    sb.append(String.valueOf(new Random().nextInt(10)));
                    break;
            }
        }
        return sb.toString();
    }

    /**
     * 3、org.apache.commons.lang包下有一个RandomStringUtils类,其中有一个randomAlphanumeric(int length)函数,
     * 可以随机生成一个长度为length的字符串。
     */
    public static String getRandomString3(int length) {
        String str = RandomStringUtils.randomAlphanumeric(length);
        return str;
    }

    public static void main(String[] args) {
        String str = getRandomString(2);
        System.out.println("方法一:" + str);
        str = getRandomString2(3);
        System.out.println("方法二:" + str);
        str = getRandomString3(4);
        System.out.println("方法三:" + str);
    }

}

 

运行结果:

方法一:陶尤
方法二:hQz
方法三:b35n

 

posted @ 2020-11-02 15:07  星瑞  阅读(358)  评论(0编辑  收藏  举报