ПочатиПочніть безкоштовно

Скасування останньої дії в текстовому редакторі

Багато текстових редакторів дозволяють переходити назад через внесені зміни й за потреби вставляти пропущені слова. Використовуючи ListIterator, ви можете рухатися назад списком дій і вставляти виправлення там, де це потрібно.

У цій вправі ви пройдете список слів у зворотному порядку, і якщо знайдете «error», вставите correction перед ним, імітуючи операцію скасування в текстовому редакторі.

Ця вправа є частиною курсу

Ввід/вивід і потоки в Java

Переглянути курс

Інструкції до вправи

  • Створіть об'єкт ListIterator для списку textHistory, починаючи з кінця.
  • Перевірте, чи доступні попередні елементи у списку textHistory.
  • Отримайте попередній елемент і пересуньте ListIterator назад.
  • Вставте новий елемент correction перед елементом error.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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);
    }
}
Редагувати та запускати код