Java 如何生成员工Id?
因此,我正在创建一个员工工资系统,id要求如下:Java 如何生成员工Id?,java,oop,Java,Oop,因此,我正在创建一个员工工资系统,id要求如下: 长度必须始终为10个字符。前七个字母是名字的前三个字母、中间的首字母(如果没有中间名,则默认为零)和姓氏的前三个字母 最后3个字符是一个递增值,表示前7个字符(例如AAABCCC001、AAABCCC002、XXXYZZZ001、XXX0ZZZ001等)的出现次数 我不知道该怎么做。救命啊 这是我目前掌握的代码: count=1; fnameSubstr= fname.substring(0,3).toUpperCase();
count=1;
fnameSubstr= fname.substring(0,3).toUpperCase();
mInitial= mnames.substring(0,0).toUpperCase();
lnameSubstr= lname.substring(0,3).toUpperCase();
nameStr=fnameSubstr + mInitial + lnameSubstr + String.valueOf(count).format("%03d", count);
for (Employee e: emp_list){
if nameStr.equals(id){
intStr=nameStr.substring(7); //string representing the first 7 chars
strInt=Integer.parseInt(intStr);//string of the last 3 chars
if count==strInt{ //compares the count to the int value of the last 3 chars
count++;
nameStr=fnameSub + mInitial + lnameSub+String.valueOf(count).format("%03d",count);
}
}
else{
count=1;
nameStr=fnameSub + mInitial + lnameSub + String.valueOf(count).format("%03d", count);
}
}
我不确定我是否在正确的轨道上
substring
方法从名称中获取的字母。设置变量
String fName = //first three letters of the first name;
String mName = "0";
String lName = //first three letters of the last name;
if (/*mName is not null*/){
mName = //get the middle initial
}
计数器=1
,以计算您创建了多少ID。请注意,您可以使用String.format(“%03d”,counter)
将计数器格式化为三位数;最后把你所有的变量都包含进去请使用下面的代码 ` 最终结果将是
DIL0DUR000
KUT0DIL001
PANRSAD002
我确信:你不会在这里提出这样的问题。请转到以了解如何/问什么。提示:我们不是一个免费的编码服务。请取消对这些问题的保留,因为所问的问题是正确的。有人能告诉我这有多宽泛吗?我添加了我的代码,以便您可以看到我迄今为止所做的尝试。谢谢。这与我的代码类似。但是,如果前7个字符相同,则id仅递增,而不是每个新id。因此,此处的id为“res4”,因此,如果搜索员工列表并发现res4与现有id的前7个字符匹配,则仅递增。例如,如果某人的id为DDDASSS001,您有另一个以DDDASS开头的id,然后计数将增加到002,但如果创建了另一个唯一id,它将返回到001,例如GGGNAA001。这就是我在使用数据库时遇到的真正问题。Ru?那么你能用java实现随机数生成逻辑吗?事实上,我上面给出的方法可以工作,请尝试检查一下。谢谢。我让它工作了。你帮了大忙。
DIL0DUR000
KUT0DIL001
PANRSAD002