java 随机生成随机数字和字母的字符串

33%数字 33%小写字母 33%大写字母


    public static String getStringRandom(int length) {

        StringBuilder val = new StringBuilder();
        Random random = new Random();
        //length为几位密码
        for(int i = 0; i < length; i++) {
            //输出字母还是数字
            int chatTypa = random.nextInt(3);
            switch (chatTypa){
                case 0:
                    //数字
                    val.append(random.nextInt(10));
                    break;
                case 1:
                    //小写字母
                    val.append((char) (random.nextInt(26) + 97));
                    break;
                case 2:
                    //大写字母
                    val.append((char) (random.nextInt(26) + 65));
                    break;
            }
        }
        return val.toString();
    }

50%数字 50%字母

    public static String getStringRandom(int length){
        StringBuilder val = new StringBuilder();
        Random random = new Random();
        if(random.nextBoolean())
            //数字
            val.append(random.nextInt(10));
        else {
            if(random.nextBoolean())
                //小写字母
                val.append((char) (random.nextInt(26) + 97));
            else
                //大写字母
                val.append((char) (random.nextInt(26) + 65));
        }
        return val.toString();
    }

猜你喜欢

转载自blog.csdn.net/jingzz1/article/details/105631457