【问题标题】:How to generate consecutive list numbering?如何生成连续的列表编号?
【发布时间】:2011-12-15 12:46:30
【问题描述】:

我有一个 Java 程序,它生成一个文本文件,文件中的每一行都有一个单词。我想让程序自动生成并写入文件中每一行的编号。这个数字可以有不同的格式,例如:

1, 2, 3, ...

a, b, c, ..., z, aa, ab, ac,....

一、二、三、...

编码很简单,除了生成那些数字格式。第一种格式(1, 2, 3, ...) 当然很简单,但是是否有任何 java 数字库或逻辑可以生成连续的拉丁文或字母,如我上面提到的第二个和第三个?

【问题讨论】:

  • 有时候,如果你想把事情做好,你就必须自己做。

标签: java numbers format


【解决方案1】:

要生成第二种形式,您需要将十进制数(以 10 为底)转换为以 26 为底的数字。每个“digit”是从az 的一个字符。这可以通过一系列x % 26x /= 26 操作来完成,直到到达0

罗马数字检查:How do you find a roman numeral equivalent of an integer

【讨论】:

    【解决方案2】:

    您可以在互联网上找到一些已经编写的函数来获取基于 Excel 的列数:

    http://soyouwillfindit.blogspot.com/2009/04/there-is-that-kind-of-odd-number-system.html

    关于罗马数字,这里有:

    http://www.roseindia.net/java/java-tips/45examples/misc/roman/roman.shtml

    【讨论】:

      【解决方案3】:

      每个字母都有一个等价的整数。

      以 ASCII 为例

      97 = 'a' in ASCII

      char c = (char) 97; // is now 'a'
      

      所以盯着 97++ 并转换为 char 会按要求的顺序为您提供字母表

      【讨论】:

        猜你喜欢
        • 2021-03-28
        • 2021-05-08
        • 2018-08-11
        • 1970-01-01
        • 1970-01-01
        • 2016-06-15
        • 1970-01-01
        • 2020-12-27
        • 1970-01-01
        相关资源
        最近更新 更多