首页 > 代码库 > 随机产生序列号
随机产生序列号
package Test;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.HashMap;import java.util.Map;/* * 生成序列号 * @author huifeidexiaobenzhu * @time 2014-11-27 */public class CreateSeriaNo { private static Map<String,String> map=new HashMap<String,String>(); private static String STATNUM="000001"; /** * 获取年月日 * @return */ public String getTime(){ Calendar cal=Calendar.getInstance(); cal.setTime(new Date()); DateFormat df=new SimpleDateFormat("yyyyMMdd"); return df.format(cal.getTime()); } /** * 判断序号是否到了最后一个 * @param s * @return */ public String getLastSixNum(String s){ String rs=s; int i=Integer.parseInt(rs); int f=(int) (Math.random()*100000); i++; rs=""+f; for(int j=rs.length();j<6;j++){ rs="0"+rs; } return rs; } /** * 产生不重复的号码 枷锁 * @return */ public synchronized String getNum(){ String yearAMon=getTime(); String last6Num=map.get(yearAMon); if(last6Num==null){ map.put(yearAMon, STATNUM); }else{ map.put(yearAMon, getLastSixNum(last6Num)); } return yearAMon+map.get(yearAMon); } /** * main测试 * @param args */ public static void main(String[] args) { CreateSeriaNo t=new CreateSeriaNo(); for(int i=0;i<10;i++){ System.out.println(t.getNum()); } }}
随机产生序列号
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。