import java.util.Random;
public class MemberCardNoUtils {
// 随机类对象
private Random random = new Random();
// 创建一个私有的静态变量
private static MemberCardNoUtils dcNumberUtil = new MemberCardNoUtils();
// 生成会员卡号的方法
public String generateDCNumber(String pre) {
//保存生成的会员卡卡号
StringBuilder dcNumber = new StringBuilder(pre);
int number = 0;
for (int i = 0; i < 10; i++) {
// 0的ASCII码是48,9的ASCII码是57
number = random.nextInt(10) + 48;
dcNumber.append((char) number);
}
return dcNumber.toString();
}
// 用于返回私有的对象
public static MemberCardNoUtils getInstance() {
return dcNumberUtil;
}
public static void main(String[] args) {
//测试
System.out.println(MemberCardNoUtils.getInstance().generateDCNumber("88-"));
}
}
import java.util.Random;public class MemberCardNoUtils {// 随机类对象private Random random = new Random();// 创建一个私有的静态变量private static MemberCardNoUtils dcNumberUtil = new MemberCardNoUtils();// 生成会员卡号的方法public String generateDCNumber(String pre) {//保存生成的会员卡卡号StringBuilder dcNumber = new StringBuilder(pre);int number = 0;for (int i = 0; i < 10; i++) {// 0的ASCII码是48,9的ASCII码是57number = random.nextInt(10) + 48;dcNumber.append((char) number);}return dcNumber.toString();}// 用于返回私有的对象public static MemberCardNoUtils getInstance() {return dcNumberUtil;}public static void main(String[] args) {//测试System.out.println(MemberCardNoUtils.getInstance().generateDCNumber("88-"));}}
我们也可以在这个基础上增加年月日时分秒再加上卡号,避免可能会产生重复的卡号风险。