流水号生成方式

  • 为了方便生成非数字的流水号,现在需要制作一个流水号生成器,
  • 每调用一次可以获得流水号的下一个流水,并且能根据不同的要求进行变化。
  • 比如:20090314000001 的话,20090314 是当前的日期,
  • 而后面的数字是每调用一次流水号生成员都能获得下一个值
  • 流水号不同号码的长度是固定的,数字位数不足时前面添 0 补足位数
    */
    public class Work4 {
    public static void main(String[] args) {
    //先准备一个集合
    List list = new ArrayList();
    for (int i =1; i <= 999999; i++) {
    list.add(i);
    }
    //启动调用机制
    while(true) {
    Scanner scanner = new Scanner(System.in);
    System.out.println(“请输入1调用流水号:”);
    int next = scanner.nextInt();
    //先转化出前面的时间号码
    Date date = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat(“yyyyMMdd”);
    String format = sdf.format(date);
    //取集合中的元素,输出结果
    if (next==1) {
    int o = (int) list.get(0);
    list.remove(0);
    System.out.println(“您的流水号是:”+format+flowWater(o));
    }
    }
    }
    //流水号后半部分表示方法
    public static String flowWater(int i){
    if (i>=10){
    if (i<100){
    return “0000”+i;
    }if (1000>i&&i>=100){
    return “000”+i;
    }if (10000>i&&i>=1000){
    return “00”+i;
    }if (100000>i&&i>=100000){
    return “0”+i;
    }if (i>=999999&&i>=100000){
    return “”+i;
    }
    }
    return “00000”+i;
    }
    }

流水号生成方式