点卡主要有2部分:卡号和密码。卡号一般由数字组成,密码就不多说了。
java中随机数很强大,大家可以自己查。卡号生成使用java中随机数,密码使用uuid,密码可以自己再加点东西之类的。下面是完整代码:
public class TimeCard {
private static String getFixLenthString(int strLength) {
Random rm = new Random();
// 获得随机数
double pross = (1 + rm.nextDouble()) * Math.pow(10, strLength);
// 将获得的获得随机数转化为字符串
String fixLenthString = String.valueOf(pross);
// 返回固定的长度的随机数 ,如果随机数前面有“.”,把2调大。
return fixLenthString.substring(2, strLength + 1);
}
private static String getUUID(){
String s = UUID.randomUUID().toString();
//去掉“-”符号
return s.substring(0,8)+s.substring(9,13)+s.substring(14,18)+s.substring(19,23)+s.substring(24);
}
/**
* 卡号N位随机数
* 卡密用uuid,不够再加几位随机数
* 存入数据库
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int num = 10;//点卡数目
ITimeCard tc = new TimeCardDAO();
for(int i = 0;i<num;i++){
tc.addTimeCard(getFixLenthString(18), getUUID());//给数据库添加记录
try {
Thread.sleep(5);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(getFixLenthString(18));
System.out.println(getUUID());
}
}
}