这个编号必须是唯一的,可以根据日期,比如今天是2013年6月29日
那分配一个编号是2013062901
分配的第二个就是2013062902
依次这样编号分配

解决方案 »

  1.   

    定义一个静态变量,
    private static Integer AUTO_NO = 2013062901;
    每次取一次就+1
      

  2.   

    这样肯定是可以的,但是如过需要根据这个编号就看日期的话,这样就不行,比如在家100,就是2013 06 30 01;但是如果期望值是20130629 101;可以考虑定义一个字符串 String dateStr = "20130629"; static int num = 1; num++;编号 = dataStr + num;生成编号可以考虑 单独用一个类(单例),如果供整个系统用
      

  3.   

    怎样取一次值就加1
     String dateStr = "20130629"; 
      int num = 1;
       <input type="text" name="zhanghao" readonly="true"  value="<%=dateStr+num++%>" style="background-color: rgb(252, 240, 253);"/>
    这样好像不行
      

  4.   

    你这个肯定不行的,累加的是字符串,像这种涉及到逻辑的代码放在类中更直观。。
    public class Const{
       private static Integer AUTO_NO = 2013062901;//定义成静态的全局变量不会被回收,一直在内存中。。
    }每次需要用一次,那么就 Const.AUTO_NO++;然后在jsp显示。。
      

  5.   


    private static int temp = 0;
    public static String getNum(){
    SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
    String date = df.format(new Date());//获取当前时间yyyymmdd格式
    String str ;
    if(temp<10){
    str = "0"+temp;
    }else{
    str = ""+temp;
    }
    String num = date + str;
    temp ++;
    return num;
    }
      

  6.   

    自增功能使用atom类。
    public class Test {
    private static AtomicInteger num = new AtomicInteger(1);
        public static void main(String[] args) throws Exception {
         Integer year = Calendar.getInstance().get(Calendar.YEAR);
         //月份从0开始
         Integer month = Calendar.getInstance().get(Calendar.MONTH) + 1;
         String monthStr = (month < 10)?"0"+month.toString():month.toString();
         Integer day = Calendar.getInstance().get(Calendar.DAY_OF_MONTH);
         String dayStr = (day < 10)?"0"+day.toString():day.toString();
         String time = year.toString() + monthStr + dayStr;
            
         //输出100个
            while(num.intValue() <= 100){
            Integer  i = num.getAndIncrement();
            System.out.println(time + i.toString());
            }
        }
    }