怎样对这个表达式进行递增呀???高手快快进来看看.....

REDANT911 2004-07-09 11:24:08
有一个注册号,
A000-A999
B0000-B9999
C00000-C99999
从A000开始注册,不断递增,直到A999,判断到了A999,下一个就从B0000开始,已些类推.这段代码怎么写呀?
...全文
107 点赞 收藏 7
写回复
7 条回复
ecaol 2004年07月09日
UP
回复 点赞
shuneng 2004年07月09日
gz
回复 点赞
飞翔的大麦茬 2004年07月09日
变量说明:
str 是每个注册号头一个字母的变化
str2 是中间“0”的部分
m为26个字母的个数,5就是只到E
PP为起始的数字部分大小
result 为最后得到的注册号结果
回复 点赞
飞翔的大麦茬 2004年07月09日
看看这个
鉴于机器速度原因,只打印出最后每组注册号的最后一个
public class AutoAdd {

public static void main(String[] args) {
char str = 'A';
String str2 = "";
int pp = 1000;
String result = "";
for (int m = 0; m < 5; m++) {
int tag = 1;
if (m != 0)
str = (char) ((int) str + 1);
for (int n = 0; n < pp; n++) {
if (String.valueOf(n).length() == 1) {
str2 = "00";
}
if (String.valueOf(n).length() > tag) {
str2 = "";
tag = String.valueOf(n).length();
for (int temp = String.valueOf(pp).length() - tag;
temp > 1;
temp--) {
str2 += "0";
}
}

result = str + str2 + String.valueOf(n);
if(n == pp-1){
System.out.println(result);
}
}
tag = 1;
pp = pp * 10;
}
}
}
回复 点赞
shareanway 2004年07月09日
假设Oracle数据库为user,有以下字段:
RegNo ……

创建三个Sequence:SeqA_id,SeqB_id,SeqC_id 其中SeqA_id范围从0到999,SeqB_id范围从0到9999,SeqC_id范围从0到99999

sql="SELECT max(length(RegNo)) FROM user" ----Oracle数据SQL

根据RegNo最大的长度,写不一样的插入sql语句
如果max(length(RegNo))==4同时RegNo<>'A999'
sql="insert into user(RegNo) values(CONCAT('A',to_char(SeqA_id.nextval,'000')))
其他的sql语句类似。
回复 点赞
dawei71141812003 2004年07月09日
int j = 3;
int temp = 0;
String result = new String();
String firstStr = new String();
for (j = 3;j<5;j++)
{
switch(j)
{
case 3 : firstStr = "A"; break;
case 4 : firstStr = "B"; break;
case 5 : firstStr = "C"; break;
}

while(length(temp.toString())<=j)
{
temp = temp + 1;
result = temp.toString();

while(length(result)<j)
{
result = "0" + result;
}

out.println(first + result);
}

}

大概写了一下,没有测试,高手看了不要见笑~~~~~~~~~~~~~
回复 点赞
pastelife 2004年07月09日
很简单啊..又没有什么逻辑,几个if else for就搞定了,要我写好给你吗?
回复 点赞
发动态
发帖子
Web 开发
创建于2007-09-28

5.2w+

社区成员

34.1w+

社区内容

Java Web 开发
社区公告
暂无公告