随机生成一个任意长度的字符串

此方法主要作用:实现随机生成一个字符串,包括字符和数字,任意长度。
实现思路:
1 判断生成为字母还是数字
2 如果是数字可以直接取值
3 如果是字符则要判断为大写还是小写
4 通过一个字符串来接收各个值,并整合输出
实现要点:怎么判断随机生成的是怎么还是数字?
我们可以通过java的Random对象来生成随机的两个整数,概率为50%,就可以判断了。
下面是实现的代码:
可直接复制到eclipse或者myeclipse尝试。

package csdn.test;

import java.util.Random;

public class stringCas {

    public static void main(String[] args) {
        stringCas sCas = new stringCas();
        sCas.test(20);
    }

    void test(int num) {
        String val = "";
        // 得到随机生成Random的对象
        Random random = new Random();
        for (int i = 0; i < num; i++) {
            // 获取随机数0和1,若为0则为数字,若为1则为字母
            String s1 = random.nextInt(2) % 2 == 0 ? "num" : "letter";
            // 判断得到的数为数字还是字母
            if ("num".equals(s1)) {
                val += String.valueOf(random.nextInt(10));
            } else {
                // 得到的是字母则要判断是大写还是小写
                String s2 = random.nextInt(2) % 2 == 0 ? "big" : "litter";
                if ("big".equals(s2)) {
                    val += String.valueOf((char) (random.nextInt(26) + 65));
                } else {
                    val += String.valueOf((char) (random.nextInt(26) + 97));
                }
            }

        }
        System.out.println(val);
    }
}

输出值为:

1K075LqEe58f197811sO

但是因为此方法为输出的是任意长度的随机字符串,所以每运行一次的结果都可能不一样。

拓展:可通过此方法生成随机长度的字符串,思路就是在此代码上嵌套一个for循环语句,长度为随机生成的整型就好,有兴趣的小伙伴可以去尝试。

猜你喜欢

转载自blog.csdn.net/jiang2818756/article/details/51232304