Моя программа - это спортивное соревнование с участием участников, участников, команды, результатов и программных классов. Я обнаружил проблему во время окончательного тестирования относительно участников и их атрибута стартового номера.Дайте каждому новому объекту новое значение атрибута (участники и стартовые номера)
Участнику присваивается стартовый номер при добавлении. Первый получает 100, следующие 101, 102 и так далее. Если участник 102 удаляется и добавляется новый участник, новый также получает номер 102, который, как представляется, является моей проблемой. По-видимому, эти стартовые номера не должны использоваться повторно. Есть ли способ дать новым участникам новые стартовые номера, которые не были даны раньше?
От класса Участник:
private int startNumber;
public int getStartNumber() {
return startNumber;
}
public void setStartNumber(int startNumber) {
this.startNumber = startNumber;
}
+ other attributes and methods
Из класса программы:
private void addStartNumber(Participant p) {
if(allParticipants == null || allParticipants.isEmpty()){
p.setStartNumber(100);
}else{
p.setStartNumber(findLastStartNumber()+1);
}
}
private int findLastStartNumber(){
int lastNumber = 0;
for(int i = 0 ; i < allParticipants.size() ; i++){
lastNumber = allParticipants.get(allParticipants.size()-1).getStartNumber();
}
return lastNumber;
}
Keep массива удаленных номеров и выбрать первое значение, что (если она существует) перед приращением –
ли кто дал вам это задание ладно с вами просят помощи в Интернете? Также, пожалуйста, прочитайте здесь вопросы. Ваш крайний срок - * ваш * крайний срок, а не наш, поэтому говорить об этом в вопросе просто загромождает вопрос. –
Любое упоминание о крайнем сроке обычно будет иметь совершенно противоположный эффект, который вы хотите. Просто FYI. –