我想创建一种应具有以下格式的ID:
A1
A2
..
A9
B1
B2
..
B9
C1
..
因此,数字计数应该从1-9开始,并且每次超过数字9时字母应该增加。
是否有提供此类功能的库?如果没有,这个"模式"一般称为?
答案 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);
}
}