当前位置: 技术问答>java相关
小问题:如何用数字和字母混合产生系统唯一的10位id值
来源: 互联网 发布时间:2015-08-23
本文导语: 如何用数字和字母混合产生系统唯一的10位id值 | /** 数字和大写字母,关于小写的自己去改。 main()方法测试。 */ public class GenerateSerial { private final static byte MIN = 48; private final static ...
如何用数字和字母混合产生系统唯一的10位id值
|
/**
数字和大写字母,关于小写的自己去改。
main()方法测试。
*/
public class GenerateSerial {
private final static byte MIN = 48;
private final static byte MAX = 90;
private final static int CARRY_NO = MAX - MIN;
private static String id="0000000000";
private byte serialCode[] = new byte[10];
/**
* GenerateSerial 构造子注解。
*/
public GenerateSerial() {
super();
}
/**
* 此处插入方法说明。
* 创建日期:(2002-9-3 15:01:54)
* @return java.lang.String
*/
public static java.lang.String getId() {
return id;
}
public String getNextid() {
String id = getId();
serialCode=id.getBytes();
for (int i = serialCode.length - 1; i >= 2; i--) {
byte code = (byte) (serialCode[i] + 1);
boolean carryUp = false;
byte newCode = code;
if (code > MAX) {
newCode = MIN;
carryUp = true;
}
if (newCode == 58) {
newCode = 65;
}
serialCode[i] = newCode;
if (!carryUp)
break;
}
id=new String(serialCode);
setId(id);
return id;
}
/**
* 此处插入方法说明。
* 创建日期:(2002-9-3 15:03:42)
* @param args java.lang.String[]
*/
public static void main(String[] args)
{
GenerateSerial test=new GenerateSerial();
for (int i = 0; i
数字和大写字母,关于小写的自己去改。
main()方法测试。
*/
public class GenerateSerial {
private final static byte MIN = 48;
private final static byte MAX = 90;
private final static int CARRY_NO = MAX - MIN;
private static String id="0000000000";
private byte serialCode[] = new byte[10];
/**
* GenerateSerial 构造子注解。
*/
public GenerateSerial() {
super();
}
/**
* 此处插入方法说明。
* 创建日期:(2002-9-3 15:01:54)
* @return java.lang.String
*/
public static java.lang.String getId() {
return id;
}
public String getNextid() {
String id = getId();
serialCode=id.getBytes();
for (int i = serialCode.length - 1; i >= 2; i--) {
byte code = (byte) (serialCode[i] + 1);
boolean carryUp = false;
byte newCode = code;
if (code > MAX) {
newCode = MIN;
carryUp = true;
}
if (newCode == 58) {
newCode = 65;
}
serialCode[i] = newCode;
if (!carryUp)
break;
}
id=new String(serialCode);
setId(id);
return id;
}
/**
* 此处插入方法说明。
* 创建日期:(2002-9-3 15:03:42)
* @param args java.lang.String[]
*/
public static void main(String[] args)
{
GenerateSerial test=new GenerateSerial();
for (int i = 0; i