需求是一个序号生成器,以A开头,后面十一位从1开始,空位补零。最大需要到9999999999。
以下是一段测试代码:
private static final String prefix = "A00000000000";
public static void main(String[] args){
int count =0;
while(true){
count+=1;
String tmp = String.valueOf(count);
int len = prefix.length();
String pre = prefix.substring(0,(len-tmp.length()))+tmp;
System.out.println(pre);
if(count > 9) break;
}
}以上代码是一个简单的自加方法,返回一个如“A00000000001”、“A00000000002”……这样的字符串
2个问题:
1:现在我想写一个函数,每次调用这个方法的时候,count在初始化的时候增加1,这样,每次调用就可以返回不同的字符串作为序号了。
2:int类型数据不支持9999999999这么大的数。
以下是一段测试代码:
private static final String prefix = "A00000000000";
public static void main(String[] args){
int count =0;
while(true){
count+=1;
String tmp = String.valueOf(count);
int len = prefix.length();
String pre = prefix.substring(0,(len-tmp.length()))+tmp;
System.out.println(pre);
if(count > 9) break;
}
}以上代码是一个简单的自加方法,返回一个如“A00000000001”、“A00000000002”……这样的字符串
2个问题:
1:现在我想写一个函数,每次调用这个方法的时候,count在初始化的时候增加1,这样,每次调用就可以返回不同的字符串作为序号了。
2:int类型数据不支持9999999999这么大的数。
解决方案 »
- JAVA
- 程序运行之前弹出图片如何实现
- 举个例子!sex?"男":"女"这种方法怎么称呼?
- repaint()怎么不能擦出原来的paint();
- 请问用JSDK怎么编可视化的软件?怎么编译
- 能不能帮我重写一下flowlayout布局,实现windows(桌面或文件夹)布局,给60分,谢谢了
- 好就没来csdn了,愿大家都能欢欢喜喜的过个大年!
- 给出ip,想得到hostname,该怎么做?
- 谁有<<JAVA 2 核心技术 卷1:基础知识>>英文电子版,谢谢[email protected] / [email protected]
- 阿门:这是什么错啊???(在jdk1.2.2环境)
- 求助:在一个有几千行的文本文件里边提取数据,并统计!
- 进制转换问题!
你的序列号持久化到哪去了?
如果没持久化,你重新运行程序,序号不又从头开始产生了?
java.text.DecimalFormat format = new java.text.DecimalFormat(pattern);
System.out.println(format.format(8800));//格式化数字
System.out.println(format.parse("a008800").longValue());//解析字符串
建议用数据库机制生成ID因为这样要设计到多线程同步,ID持久化
2:int类型数据不支持9999999999这么大的数。
改用 long