流水号生成规则
从“0001”号起始,依序不跳跃不间断地编号,形成流水编码,依次为0001、0002、0003、0004、0005、0006…等。当编至“9999”号,仍需继续编号时,从“A000”号(A000代表10000)起始重新序排,依次为A000、A001、A002…A999(A999代表10999)及B000(B000代表11000)、B001、B002…等。
代码编写
public static String getNextLsh(String maxXh){String lsh = "";char first = maxXh.charAt(0);if(first >= 'A' && first <= 'Z'){ //字母开头if (maxXh.substring(1, 4).equals("999")) {// 累加字母first++;if (first == '[') {System.out.println("超出编号范围!!");return "XXXX";}else{lsh = first + "000";}}else{int maxLsh = Integer.parseInt(maxXh.substring(1, 4));maxLsh = maxLsh + 1;maxXh = maxLsh + "";int k = 3 - maxXh.length();for (int i = 0; i < k; i++) {maxXh = "0" + maxXh;}lsh = first + maxXh;}}else{ //数字开头int maxLsh = Integer.parseInt(maxXh);if(maxLsh == 9999){lsh = "A" + "000";}else{maxLsh = maxLsh + 1;maxXh = maxLsh + "";int k = 4 - maxXh.length();for (int i = 0; i < k; i++) {maxXh = "0" + maxXh;}lsh = maxXh;}}return lsh;}
值得一提的是,char可以直接++计算
下边直接看结果:



















