• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
james1207

博客园    首页    新随笔    联系   管理    订阅  订阅

java实现点卡生成

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


}


 

posted @ 2013-09-05 18:11  Class Xman  阅读(629)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3