有没有办法在java中生成与字母组合的ID?

Posted

技术标签:

【中文标题】有没有办法在java中生成与字母组合的ID?【英文标题】:Is there any way to generate ID combined with alphabets in java? 【发布时间】:2014-02-12 06:16:56 【问题描述】:

我创建了一个学生注册项目,我需要为那些在我的网站上注册的人自己提供注册号。我的注册 ID 应该是 ABC0000001 等等。我尝试了以下代码来生成注册号。

 for(int i=0000001;i<3;i++)

  System.out.println("ABC"+i);


但我得到的输出为 ABC1 ABC2 ABC3。这不是必需的。请指教。

【问题讨论】:

【参考方案1】:

数字没有重要的前导零。 (没关系,代码实际上在 Java 中使用 八进制 数字文字。)

参见String.format 和Format Syntax。特别是,'0' flagwidth 修饰符和 'd'(十进制整数)转换在这里很有用。

for(int i=1; i<3; i++)
  // % - start of format
  // 0 - 0-pad the result
  // 7 - set result width to 7 characters wide
  // d - display as decimal integer
  String id = String.format("ABC%07d", i);
  System.out.println(id);

【讨论】:

+1 干得好!它适用于所有人吗?即长,浮动等? @ShaileshSaxena d 整数转换“可应用于 Java 整数类型:byte、Byte、short、Short、int 和 Integer、long、Long 和 BigInteger”(参见转换部分格式语法,上面链接)。要显示浮点数,请使用f 之类的浮点转换之一,或者在将其作为参数传递之前将其转换为整数类型。【参考方案2】:

这样做

for(int i=1;i<3;i++)

  System.out.println("ABC00000"+i);


【讨论】:

以上是关于有没有办法在java中生成与字母组合的ID?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中生成与 Python 示例等效的 HMAC?

如何在 Java 中生成与 Python 示例等效的 HMAC?

如何在 Java(Android)中生成与 .Net 中相同的 AES 密钥?

在 Java 中生成所有列表 n 级深度的组合

java - 如何在java中生成与openssl生成的相同类型的ecdsa密钥对?

将Long类型转为字母数字组合的jar包---Hashids