找到memberId都能理解接下来怎么运行,没找到那后面的覆盖循环我觉得也能执行,在这里我假如total=3在第一个遍历循环中没找到那么就是i=3结束循环抛完异常后继续执行下个循环,我感觉就能报角标越界或者空指针异常,但是这里运行起来没问题
public void removeMember(int memberId) throws TeamException {
int i = 0;
for(;i < total;i++) {
if(team[i].getMemberId() == memberId) {
team[i].setStatus(Status.FREE);
break;
}
}
//未找到memberId的情况
if(i == total) {
throw new TeamException("未找到memberId的员工,删除失败");
}
//后一个元素覆盖前一个元素,实现删除
for(int j = i + 1;j < total;j++) {
team[j - 1] = team[j];
}