Я попал в кирпичную стену, и книга ревизий не очень помогает, так как содержит простые примеры, мое назначение ревизии требует, чтобы я объявил локальную переменную типа для ссылки на список, команды, а затем, если должен получить список команд для разделения значения ключа и назначьте его локальной переменной.
Затем он просит меня увеличить количество побед для команды А, если она имеет более высокий результат, чем команда В, и наоборот, если это ничья, то увеличить число ничьих.
Мне удалось написать метод для перебора списка и оператор if-else, чтобы проверить, что он передал аргументы, используя метод .get (), который работает
Проблема, с которой я сталкиваюсь, заключается в доступе к методу incWon () класса Team для изменения значения выигрыша для каждого значения карты. Материал, тем не менее, дает довольно плоские примеры того, как значения карты должны быть изменены, которые на самом деле не объясняют, как я могу изменить значение, используя динамический ввод.
любая помощь будет принята с благодарностью, как если бы я мог выиграть работу, остальное встанет на свои места.
Это мой класс
{
private SortedMap<String, Set<Team>> teams;
/**
* Constructor for objects of class LeagueAdmin
*/
public LeagueAdmin()
{
// Create the HashMap
//Map<String, Team> teams = new HashMap<>();
super();
this.teams = new TreeMap<>();
}
public void addTeam(String division, Team team)
{
boolean changed;
if (!this.teams.containsKey(division)) // checks if the key division doesn't contain the value of divsioin
{
HashSet<Team> teamSet = new HashSet<>(); // instantiates a list of objects called Team and assigns them to local variable teamSet
teamSet.add(team); // adds a new team to the list
this.teams.put(division, teamSet);
changed = true;
}
else
{
Set<Team> teamSet = this.teams.get(division); // if list exists already adds new team to existing list
changed = teamSet.add(team);
}
}
public void recordResult(String division, String teamA, String teamB, int teamAScore, int teamBScore)
{
Set<String> teamKeys = teams.keySet();
for (String eachDivision: teamKeys)
{
if(teamAScore > teamBScore)
{
teams.put(); // updates wins for teamA
// System.out.println(teamA);
}
else if (teamAScore < teamBScore)
{
teams.get(teamB); // updates wins for teamB
// System.out.println(teamB);
}
else
{
// teams.put(); //updates draws for both teams
}
// System.out.println(eachDivision + " teams are " + teams.get(eachDivision));
}
}
}
и это класс TEAM, к которому я должен получить доступ к значениям приращения.
public class Team
{
private String name;
private String division;
private int won;
private int drew;
private int lost;
// no need to record points as = 3*won + drew
/**
* Constructor for objects of class Team
*/
public Team(String aName, String aDivision)
{
name = aName;
division = aDivision;
// no need to set won, drew and lost to 0
}
/**
* getter for attribute points
*/
public int getPoints()
{
return 3 * won + drew;
}
/**
* getter for name
*/
public String getName()
{
return name;
}
/**
* getter for division
*/
public String getDivision()
{
return division;
}
/**
* getter for won
*/
public int getWon()
{
return won;
}
/**
* getter for drew
*/
public int getDrew()
{
return drew;
}
/**
* getter for lost
*/
public int getLost()
{
return lost;
}
/**
* increments the number of games won
*/
public void incWon()
{
won = won + 1;
}
/**
* increments the number of games drawn
*/
public void incDrew()
{
drew = drew + 1;
}
/**
* increments the number of games lost
*/
public void incLost()
{
lost = lost + 1;
}
/**
* setter for division
*/
public void setDivision(String aDivision)
{
division = aDivision;
}
public String toString()
{
return ("Team " + name + ", division: " + division + " stats: Won: " + won
+ ", drew: " + drew + ", lost: " + lost + ", points: " + getPoints());
}
}