/**
* 生成num位随机数
*
* @param length 生成的位数
* @return int
*/
public static int randomNum(int length) {
if (length < 1) {
throw new IllegalArgumentException("length is error");
}
StringBuilder sb = new StringBuilder("1");
for (int i = 1; i < length; i++) {
sb.append("0");
}
return (int) ((Math.random() * 9 + 1) * Integer.parseInt(sb.toString()));
}
/**
* 生成n位随机数字符串
*
* @param length 生成的数量
* @return str
*/
public static String randomStr(int length) {
if (length < 1) {
throw new IllegalArgumentException("length is error");
}
String baseString = "0123456789";
final StringBuilder sb = new StringBuilder(length);
int baseLength = baseString.length();
for (int i = 0; i < length; i++) {
int number = ThreadLocalRandom.current().nextInt(baseLength);
sb.append(baseString.charAt(number));
}
return sb.toString();
}
生成随机数需要几位填几;
Math.random() 方法可返回介于 0 ~ 1 之间的一个随机数。
Math.random()*9 +1 是为了整数位1-9