每天解决一个小问题,哪怕是一个练习题或者面试题,每天进步一点点,哪怕是百分之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 );
}
}
搞定了,加油!