Vrácení poslední akce v textovém editoru
Mnoho textových editorů umožňuje procházet změny pozpátku a doplňovat chybějící slova tam, kde je potřeba. Pomocí ListIterator se můžeš pohybovat zpět seznamem akcí a vkládat opravy na správná místa.
V tomto cvičení projdeš seznam slov v opačném pořadí, a pokud narazíš na slovo "error", vložíš před něj correction – čímž nasimuluje operaci vrácení změny v textovém editoru.
Toto cvičení je součástí kurzu
Input/Output and Streams in Java
Pokyny k cvičení
- Vytvoř objekt
ListIteratorpro seznamtextHistoryzačínající od konce. - Zkontroluj, jestli jsou v seznamu
textHistoryk dispozici další předchozí prvky. - Načti předchozí prvek a posuň
ListIteratorzpět. - Vlož nový prvek
correctionpřed prvekerror.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
public class TextEditorUndo {
public static void main(String[] args) {
ArrayList textHistory = new ArrayList<>();
textHistory.add("Hello");
textHistory.add("error");
textHistory.add("world");
// Create ListIterator starting from the end of the list
ListIterator it = textHistory.____(textHistory.____());
// Check if more elements are available in reverse order
while (____.____()) {
// Retrieve previous element
String word = ____.____();
if (word.equals("error")) {
// Insert "correction" before "error"
____.____("correction");
}
}
System.out.println(textHistory);
}
}