如何创建向上计数的字母数字标识符?

时间:2013-11-06 15:15:52

标签: java

我想创建一种应具有以下格式的ID:

A1
A2
..
A9
B1
B2
..
B9
C1
..

因此,数字计数应该从1-9开始,并且每次超过数字9时字母应该增加。

是否有提供此类功能的库?如果没有,这个"模式"一般称为?

4 个答案:

答案 0 :(得分:1)

您不会在标准库中找到它,但您可以为此自行循环:

for (char c = 'A'; c <= 'Z'; c++) {
    for (int i = 1; i <= 9; i++) {
        String id = Character.toString(c) + i;
        System.out.println(id);
    }
}

至于“模式”,我会说这是cartesian product {A,...,Z} x {1,...,9},笛卡尔积通常被实现为一系列嵌套循环(在本例中为两个),它们迭代元素;您可以修改迭代变量的结束点以获得所需的值范围。

答案 1 :(得分:1)

你可以用这个:

class IDGenerator{
    char c ='A';
    int next = 1;
    public String getNextID(){
        String id = Character.toString(c) + Integer.toString(next++);
        if(next>9){
           next =1;
           c++;
        }
        return id;
    }

}

请注意,这将达到Z9

答案 2 :(得分:0)

您可以将此作为“灵感”或指南来创建自己的方法:

    int count = 1;
    char x = 'A';

    while(count != 11) {
        if(count == 10) {
            x = (char)(x + 1);
            count = 1;
        }
        System.out.println(count + "" + x);
        count++;
    }

这将打印出你想要的东西,然后是一些......:)

答案 3 :(得分:0)

这样做

    for (char i =  'A'; i <= 'Z' ; i++) {
           for(int j=1;j<10;j++){
              String id=""+i+j;
              System.out.println(id);
          }
    }