共计 1100 个字符,预计需要花费 3 分钟才能阅读完成。
每天解决一个小问题,哪怕是一个练习题或者面试题,每天提高一点点,哪怕是百分之 0.01 也好。
明天的的练习题是生成随机字符串,要求是创立一个长度是 5 的随机字符串,随机字符有可能是数字,大写字母或者小写字母。
话不多说,写代码开干。
/**
* 练习 - 随机字符串
* 创立一个长度是 5 的随机字符串,随机字符有可能是数字,大写字母或者小写字母
* 2021-08-01
* */
public class RandomString20210801 {
// 长度 5
private final static int leng = 5;
// 1、列出所有数字、大写字母和小写字母
private final static String[] strs = new String[]{
"1", "2", "3", "4", "5", "6", "7", "8", "9", "0",
"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", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"
};
// 2、生成随机数
public static int rand(int min, int max){return min + (int)(Math.random() * (max-min+1));
}
// 3、创立一个长度是 5 的随机字符串
private static String createStr(){
// 3.1 定义一个 StringBuilder 对象拼接字符串
StringBuilder sb = new StringBuilder();
// 数组的长度
int arrayLeng = strs.length;
// 3.2、循环 5 次
for(int i = 0; i < leng; i++){
// 在数组的长度内取一个随机数
int r = rand(0, arrayLeng);
// 3.3 每次从数组中随机取出一个
String s = strs[r];
// 拼接字符串
sb.append(s);
}
// 3.4 返回最终的 5 位随机字符串
return sb.toString();}
public static void main(String[] args) {
// 调用 createStr 办法创立一个长度是 5 的随机字符串
String str = createStr();
// 打印
System.out.println(str);
}
}
写好了,运行一下
搞定了,加油!
我的集体订阅号,感兴趣的能够关注下,谢谢!
正文完