Java生成任意定长随机数

本方法中的随机数生成,支持获取指定任意指定长度的随机数值。

实现方法:

public String generateFixedLengthNum(int length) {
// 获取绝对值
length = Math.abs(length);
Random random = new Random();
// 获取随机数,去除随机数前两位(0.)
String randomValue = String.valueOf(random.nextDouble()).substring(2);
String value = "";
int maxLength = randomValue.length;
// 获取随机数字符串长度,并计算需要生成的长度与字符串长度的差值
int diff = length - maxLength;
if (diff > 0) {
// 如果差值大于0,则说明需要生成的串长大于获取的随机数长度,此时需要将最大长度设置为当前随机串的长度
length = maxLength;
// 同时递归调用该随机数获取方法,获取剩余长度的随机数
value += generateFixedLengthNum(diff);
}
// 获取最终的随机数
value = randomValue.substring(0, length) + value;
return value;
}


调用:

String v = generateFixedLengthNum(10);
System.out.println(v);

输出结果:
4596263578

你可能感兴趣的:(JAVA)