• 首页>范文 > 范文
  • java生成稿件编号

    1.java自动生成编号

    private static int m=1;//全局静态变量,(必须static修饰)每调用一次方法自增1

    public String add(){

    addin(m);

    return "addTiao";

    }

    public void addin(int a){

    String str1="A";

    Date date=new Date();

    String str2=new SimpleDateFormat("yyyyMMdd"). format(date);//自动生成日期

    int datee=Integer.parseInt(str2);

    inlist=instockService.getInListDown();//按降幂排序

    instockEntity=(InstockEntity) inlist.get(0);

    String ss=instockEntity.getInstock_number();//得到最大日期

    if(ss!=null){

    String riqi=ss.substring(1, 9);

    int riqi1=Integer.parseInt(riqi);

    if(datee>riqi1){

    a=1;//如果日期变大则初始化订单号

    }

    }

    String str3=null;

    if(a>=0&&a<=9){

    str3="00"+String.valueOf(a);

    }else if(a>=10&&a<=99){

    str3="0"+String.valueOf(a);

    }else if(a>=100&&a<=999){

    str3=String.valueOf(a);

    }

    String instock_number=str1+str2+str3;

    instockEntity.setInstock_number(instock_number);

    instockService.add(instockEntity);

    m=a+1;

    }

    2.java自动生成有规律的编号

    public class Main { private static long n = 1; public static void main(String[] args) { System.out.println(test(n)); System.out.println(test(n)); } public static long test(long l) { String str = new SimpleDateFormat("yyyyMM") .format(new java.util.Date()); long m = Long.parseLong((str)) * 10000; long ret = m + l; n = l + 1; return ret; } }。

    3.java生成编号

    简单点的,可以判断生成的这个数除10,在转成字符串的时候加个判断

    如果是0,说明是1位数,那么多加一个"0"在前面就行了。

    如果不是0,说明不是1位数,那么就不加"0"了。

    假设,int a就是生成的那个1。

    String s是前面的时间包括"-"。

    String str是最后的结果。

    if(a/10 == 0){

    str += "0";

    }

    str += a;

    最后str就是有0的结果了,不知道能不能明白,不明白的话再hi我。

    4.java中自动生成有规律的编号

    实现思路:在本地存储一个文本文件用于记录上一次的编号序数,生成编号时从文件里读出编号序数后加一,并把结果保存回文件中以备下次生成使用。如此处理即可达成需求,具体代码如下(运行环境:jdk8或以上):

    package com.file;

    import java.io.BufferedReader;

    import java.io.File;

    import java.io.FileOutputStream;

    import java.io.FileReader;

    import java.io.IOException;

    import java.time.LocalDate;

    public class NoCreater {

    public static void main(String[] args) {

    System.out.println(next());

    }

    public static String next() {

    File file = getCountFile();

    try (BufferedReader fr = new BufferedReader(new FileReader(file))) {

    int nextNum = Integer.valueOf(fr.readLine()) + 1;

    try (FileOutputStream fos = new FileOutputStream(file)) {

    fos.write(String.valueOf(nextNum).getBytes());

    }

    String next = "";

    if (nextNum / 10

    5.java实现自动生成流水号的方法

    例如:

    import java.text.DecimalFormat;

    import java.text.SimpleDateFormat;

    import java.util.Date;

    public class PrimaryGenerater {

    private static final String SERIAL_NUMBER = "XXXX"; // 流水号格式

    private static PrimaryGenerater primaryGenerater = null;

    private PrimaryGenerater() {

    }

    public static PrimaryGenerater getInstance() {

    if (primaryGenerater == null) {

    synchronized (PrimaryGenerater.class) {

    if (primaryGenerater == null) {

    primaryGenerater = new PrimaryGenerater();

    }

    }

    }

    return primaryGenerater;

    }

    public synchronized String generaterNextNumber(String sno) {

    String id = null;

    Date date = new Date();

    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");

    if (sno == null) {

    id = formatter.format(date) + "0001";

    } else {

    int count = SERIAL_NUMBER.length();

    StringBuilder sb = new StringBuilder();

    for (int i = 0; i < count; i++) {

    sb.append("0");

    }

    DecimalFormat df = new DecimalFormat("0000");

    id = formatter.format(date)

    + df.format(1 + Integer.parseInt(sno.substring(8, 12)));

    }

    return id;

    }

    }

    6.生成订单编号 用java怎么处理

    public String getOrderCode(){

    //getParameter这个方法就是从数据库取2个参数的值 ORDER_CODE_DATE 和

    //ORDER_CODE_NO是数据库字段名

    BasParameters orderCodeDate = getParameter(ORDER_CODE_DATE);

    BasParameters orderCodeNo = getParameter(ORDER_CODE_NO);

    //当前日期

    String currDate=new SimpleDateFormat("yyyyMMdd").format(new Date(System.currentTimeMillis()));

    //每天的起始数

    int orderNo = 100;

    //表里存的日期和当前日期相同,顺序号累加

    if (currDate.equals(orderCodeDate.getValue())){

    orderCodeNo.setValue(""+(Integer.parseInt(orderCodeNo.getValue())+1));

    orderNo = (Integer.parseInt(orderCodeNo.getValue()));

    //save 就是保存ORDER_CODE_DATE 和 ORDER_CODE_NO当前值到数据库

    save(orderCodeNo);

    } else {

    //表里存的日期和当前日期不同,顺序号重新开始,更新参数表的日期

    orderCodeDate.setValue(currDate);

    save(orderCodeDate);

    orderCodeNo.setValue(orderNo);

    save(orderCodeNo);

    }

    return currDate + new DecimalFormat("000000").format(orderNo);

    }

    7.java自动生成订单编号问题

    为了30分:

    import java.text.SimpleDateFormat;

    import java.util.Date;

    public class Test {

    public static final String PREFIX = "DD";

    private static long code;

    public static void main(String[] args) {

    System.out.println(Test.nextCode());

    System.out.println(Test.nextCode());

    System.out.println(Test.nextCode());

    }

    public static synchronized String nextCode() {

    code++;

    String str = new SimpleDateFormat("yyyyMM").format(new Date());

    long m = Long.parseLong((str)) * 10000;

    m += code;

    return PREFIX + m;

    }

    }

    8.java自动生成进货编码

    import java.text.SimpleDateFormat;

    import java.util.Date;

    public class Autonum {

    public String getNum(String start,String num){

    String n=num.substring(0,3);

    if(!n.equals(start)){

    System.out.println("编号的开头与从数据库取得的编号开头不相同");

    return "";

    }

    String strDate="";//流水号时间

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

    Date date = new Date();

    //格式化当前时间,并按字符'-'分割

    String[] sd=sdf.format(date).split("-");

    //截取编号中的日期

    String time=num.substring(3,11).toString();

    for(int i=0;i&lt;sd.length;i++){

    strDate+=sd[i];

    }

    //如果当天或者表中没有记录,返回当天第一条记录

    if(!time.equals(strDate)||num.equals("")){

    return start+strDate+"0001";

    }

    // 截取编号最后的流水号

    String end=num.substring(11, 15);

    String s2="";

    int lg=Integer.parseInt(end);

    //对流水号结尾的四位数字进行判断,以便增加

    if(lg&gt;0&amp;&amp;lg&lt;9){

    s2="000"+(lg+1);

    }else if(lg&gt;=9&amp;&amp;lg&lt;99){

    s2="00"+(lg+1);

    }else if(lg&gt;=99&amp;&amp;lg&lt;999){

    s2="0"+(lg+1);

    }else if(lg&gt;=999&amp;&amp;lg&lt;9999){

    s2=""+(lg+1);

    }

    //返回自动生成后的流水号

    return start+=strDate+s2;

    }

    }

    java生成稿件编号

    发表评论

    登录后才能评论