人员重名按照系统中添加的时间顺序从1开始进行+1重命名,例如张三,第二个重名命名为张三2。java代码
时间: 2023-05-30 11:07:12 浏览: 64
假设有一个名为Person的类,其中有一个String类型的属性name,表示人员姓名。那么可以在Person类中添加一个静态变量,用于记录已经出现的姓名及其出现的次数,然后在构造方法中根据已经出现的次数来给重名的人员进行重命名。
示例代码如下:
```
public class Person {
private String name;
private static Map<String, Integer> nameCountMap = new HashMap<>();
public Person(String name) {
this.name = name;
if (nameCountMap.containsKey(name)) {
int count = nameCountMap.get(name);
count++;
nameCountMap.put(name, count);
this.name = name + count;
} else {
nameCountMap.put(name, 1);
}
}
// 省略其他属性和方法
}
```
在上面的代码中,nameCountMap用于记录已经出现的姓名及其出现的次数。在构造方法中,如果当前姓名已经出现过,则在原有的姓名后加上出现的次数作为新的姓名,并将出现次数加1;如果当前姓名没有出现过,则将出现次数设为1,并将姓名添加到nameCountMap中。
这样,当创建新的Person对象时,就可以保证重名的人员姓名是唯一的了。