Ausgabe
Unter Klasse NewDeque
habe ich eine Funktion, public Deque<Character> IntoDeque(String a)
bei der ich eine Eingabe als a übernehmen muss String
und der Rückgabewert a sein sollte Deque
.
Ich habe Mühe zu verstehen, was ich schreiben muss, um dies zu erreichen. Hier mein bisheriger Code:
public class NewDeque {
public Deque<Character> IntoDeque(String a) {
Deque<Character> L = new LinkedListDeque<>();
for (int x = 0; x < a.length()-1; x++) {
L.add(a[x]) + "";
}
return L;
}
}
Ich habe Mühe zu verstehen, wie ich dies als Deque implementieren kann. Kann mir bitte jemand helfen? Bitte geben Sie auch Erklärungen ab, da es auch für mich gut wäre. Vielen Dank.
Beispieleingabe ist "Side"
,
die Ausgabe sollte sein's', 'i', 'd', 'e'
Hier sind einige zusätzliche Dateien, falls Sie wissen möchten, woher ich bestimmte Methoden habe
LinkedListDeque (ab sofort):
public class LinkedListDeque<T> extends LinkedList<T> implements Deque<T> {
Schnittstellendeque:
interface Deque<T> {
void addFirst(T items);
void addLast(T items);
String toString();
void removeLast();
void removeFirst();
void get(int index);
int size();
boolean isEmpty();
}
Lösung
Sie haben Code verwendet, um auf ein Array und nicht auf ein Zeichen der Zeichenfolge zu verweisen, a[x]
das ist a.charAt(x)
, und das letzte Zeichen der Zeichenfolge ignoriert.
Deque<Character> dq = new LinkedList<>();
for (int x = 0; x < a.length(); x++) {
dq.add(a.charAt(x));
}
return dq;
Es ist nicht klar, was Sie mit erreichen wollten + ""
, entfernen Sie es.
Beantwortet von – DuncG
Antwort geprüft von – Marie Seifert (FixError Admin)