Začněte nyníZačněte zdarma

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

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř objekt ListIterator pro seznam textHistory začínající od konce.
  • Zkontroluj, jestli jsou v seznamu textHistory k dispozici další předchozí prvky.
  • Načti předchozí prvek a posuň ListIterator zpět.
  • Vlož nový prvek correction před prvek error.

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);
    }
}
Upravit a spustit kód