@Blargmode:
Här är Participant-klassen:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class Participant {
private String team;
private String firstName;
private String lastName;
private int number;
private static int counter = 100;
private ArrayList<Result> resultList = new ArrayList<Result>();
public Participant(String team, String firstName, String lastName) {
this.team = team;
this.firstName = firstName;
this.lastName = lastName;
this.number = counter;
counter++;
}
public String getTeam() {
return team;
}
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
public int getNumber() {
return number;
}
public String toString() {
return firstName + " " + getLastName() + " from " + getTeam() + " " + getNumber();
}
public void registerResult(Event event, double result) {
Result newResult = new Result(result, event, this);
resultList.add(newResult);
}
public int checkAttempts(String eventName) {
int count = 0;
for (Result result : resultList) {
if (result.getEvent().getEventName().equals(eventName)) {
count++;
}
}
return count;
}
public void printResults() {
ArrayList<String> topResult = new ArrayList<String>();
sortResult();
for (Result result : resultList) {
topResult.add("Results for " + firstName + " " + lastName + " in " + result);
}
for (String str : topResult)
System.out.println(str);
}
private void sortResult() {
Collections.sort(resultList, new Comparator<Result>() {
public int compare(Result r1, Result r2) {
return r1.getEvent().getEventName().compareToIgnoreCase(r2.getEvent().getEventName());
}
});
}
public Result getTopResult(String eventName) {
sortResult();
for (Result result : resultList) {
if (result.getEvent().getEventName().equals(eventName))
return result;
}
return null;
}
}