随机数工具类
package com.cmcc.hybj.payment.framework.code;
import java.util.Random;
/**
* 随机数工具类
*
* @author
*
*/
public class MathRandom {
/**
* 随机产生指定范围内的整数
*
* @param max
* @param min
* @return
*/
public static int randomInt(int min, int max) {
return (int) Math.round(Math.random() * (max - min) + min);
}
/**
* 生成指定位数的随机序列
*
* @return
*/
public static String getRodomSN(int numLong) {
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < numLong; i++) {
int num = randomInt(0, 9);
buffer.append(num);
}
return buffer.toString();
}
/**
* 生成随机密码 包括英文(包含大小和小写) 和 数字
* @param length 指定生成位数
* @return
*/
public static String getStringRandom(int length) {
StringBuffer buffer = new StringBuffer();
Random random = new Random();
//参数length,表示生成几位随机数
for (int i = 0; i < length; i++) {
String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num";
//输出字母还是数字
if ("char".equalsIgnoreCase(charOrNum)) {
//输出是大写字母还是小写字母
int temp = random.nextInt(2) % 2 == 0 ? 65 : 97;
char letter= (char) (random.nextInt(26) + temp);
buffer.append(letter);
} else if ("num".equalsIgnoreCase(charOrNum)) {
String num = String.valueOf(random.nextInt(10));
buffer.append(num);
}
}
return buffer.toString();
}
}