Я попросил реализовать ScoreBoard
класс, который имеет много методов:Реализация класса DoublyLinkedList с вызовом объекта
void add(GameEntry g)
: добавляет новый объектGameEntry
кScoreBoard
. ОбъектGameEntry
должен быть вставлен в список табло таким образом, чтобы узлы списка отображались в неубывающем порядке оценок.void removeAll()
: очищает табло, удаляя все записи об игре.void listScores()
: отображает список доступных игровых партитур в табло в неуклонном порядке.
То, что я пришел с, чтобы создать ScoreBoard
класс, который имеет add(gameEntry)
, и расширяет свой DoublyLinkedList
класс, который используют DNode <E>
, а также removeAll()
и listScores()
методы.
Мой вопрос: в домашнем задании я должен реализовать ScoreBoard
и DoublyLinkedList
в том же классе, я действительно пытался сделать их в одном классе, возможно ли это? Другими словами, могу ли я вызвать объект из другого класса и реализовать его в моем классе с двойным соединением ADT?
класс ScoreBoard:
public void add(GameEntry g) {
if (g == null) {
return; }
if (getHead() == null) {
setHead(new DNode(g, null, null));
} else if (g.getScore() > getHead().getElement().getScore()) {
DNode<E> newHead = new DNode(g, null, getHead());
getHead().setPrevious(newHead);
setHead(newHead);
} else if (getTail() != null && g.getScore() > getTail().getElement().getScore()) {
DNode newTail = new DNode(g, getTail(), null);
getTail().setNext(newTail);
setTail(newTail);
} else {
DNode<E> pointer = getHead();
while (pointer != null) {
if (g.getScore() > pointer.getElement().getScore() &&
g.getScore() < pointer.getNext().getElement().getScore()) {
pointer.setNext(new DNode(g, pointer, pointer.getNext()));
pointer.getNext().getNext().setPrevious(pointer.getNext());
pointer = pointer.getNext();
}
}
}
setSize(size()+1);
}
}
Обновление: Добавлен код.
GameEntry Класс:
public class GameEntry {
private String name;
private int score;
public GameEntry(String n, int s) {
name = n;
score = s;
}
public String getName() {
return name;
}
public int getScore() {
return score;
}
@Override
public String toString() {
return String.format("Name: %s | Score: %d", name, score);
}
}
Это назначение Connamacher? –
@EliSadoff Это не так. – DoeJ
вам действительно нужно реализовать реализацию класса DoublyLinkedList или просто добавить add, removeAll, listScores в 'ScoreBoard'? Я бы предположил, что ScoreBoard будет иметь doubleLinkedList как одно из свойств и будет назначаться из другого класса. – alex