我是Java的新手,希望就我想要解决的问题得到一些建议。我必须编写一个生成唯一编号的方法。
因此,以字符串表示的唯一数字将包含10个字符。
#1. First 2 will represent the YEAR
#2. Second 2 will represent the DAY OF YEAR
#3. Last 6 will represent a INCREMENTING digit which will reset at 12 AM midnight.
3是与之混淆的。我不想使用任何数据库或外部文件。
这将从" 000001"开始并继续增加到晚上11:59 PM 在午夜时分,它将重置为" 000001"
是否有一种有效的编码方式?
我的应用程序是服务器,它将全天候运行,生成的数量基于连接的客户端。为增量计数器保留的6个字符足够好,永远不会超过。
答案 0 :(得分:2)
您可以在类中使用静态变量作为计数器。因此,当每个客户端连接时,增加静态int。您可以拥有另一个保存“上次更新”日期的静态变量。只需检查上次更新日期,如果它与当前日期不同,您可以将计数器重置为00001。
答案 1 :(得分:0)
只需将计数器存储在应用程序类的字段中即可。