业务描述:现在客户的要求是生成一个类似‘SO11122200004_001’的包装号,'SO11122200004'有数据库中查询得到,关键是后面的001的生成方法,客户是要求后面是001-999的三位数,现在求一个方法,每次执行一次只能产生一个三位数,而且是自增的,如001,002...,在线等啊,客户催的很紧。

解决方案 »

  1.   

    拿个变量count计数
    后用String.format("%03d",count%1000);转成3位数
      

  2.   

    public static String getNo() { String soco = "SO11122200004";
    String sosos= "";
    long count=0;
    count++;
    sosos =  soco+"_"+String.format("%1$03d", count%1000);
    return sosos;
    }每次返回的都是SO11122200004_001,求解
      

  3.   

    楼主,请参见这个:http://blog.csdn.net/zl3450341/article/details/6882550
      

  4.   


    long count=0;   --->  static long count=0
    你每次调count都是0 当然就一个结果了
      

  5.   

    不难吧,就是搞个静态变量记录当前值,从1-999,
    输出的时候格式化一下成001,不就得了代码懒得写了
    ---------------------
    http://www.mowker.com/qkdq.htm
      

  6.   

    3,4,5楼的方法我都试过了,还是不奏效哦,6楼知道可否指点指点!有考虑过用存储过程实现吗?我用的是sqlserver数据库。