此方法主要作用:实现随机生成一个字符串,包括字符和数字,任意长度。
实现思路:
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循环语句,长度为随机生成的整型就好,有兴趣的小伙伴可以去尝试。