Список студентов некоторой группы представлен классом Students, который реализован как список, звенья которого представляют одного студента и содержат фамилию студента, а также набор полученных им оценок по разным предметам. Классы Students и Student описаны в программе следующим образом (вам следует дополнить описания классов необходимыми конструкторами, геттерами и методами):
private class Student {
private String name;
private Map marks = new TreeMap();
// необходимые конструкторы и методы
}
public class Students {
public void remove(String name) {
// здесь должна быть ваша реализация
}
public void mark(String name, String subject, int mark) {
// здесь должна быть ваша реализация
}
// а ещё необходимые поля, конструкторы и методы
}
Вам нужно реализовать метод mark, с помощью которого можно добавить или изменить оценку заданного студента по заданному предмету. Если студента с заданным именем в списке не было, метод mark должен его добавить (у добавленного таким образом студента будет оценка только по одному предмету).
Второй метод, который вам нужно реализовать – это метод remove, с помощью которого можно удалить заданного студента из группы. Если студента с заданным именем в списке нет, метод не делает ничего.
Предполагается, что в группе нет студентов с совпадающими именами (name).
Набор предметов не фиксирован. Предмет – это произвольная строка.
Заголовки классов Students и Student можно также дополнить, если окажется удобным добавить интерфейсы, которые классы реализуют (например, в заголовок класса Students можно добавить implements Iterable) необходимо также дополнить описания классов теми методами и конструкторами, которые будут необходимы для проверки правильности работы методов mark и remove, например, был бы полезен метод, который по заданному имени студента выдает объект, представляющий этого студента в списке.
| Гарантия на работу | 1 год |
| Средний балл | 4.52 |
| Стоимость | Назначаете сами |
| Эксперт | Выбираете сами |
| Уникальность работы | от 70% |