A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周志龙 中级黑马   /  2013-10-13 18:28  /  932 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

点卡主要有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());
}
}


}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马