BaşlayınÜcretsiz başlayın

Bir metin düzenleyicide son işlemi geri al

Birçok metin düzenleyici, kullanıcıların değişiklikler arasında geriye doğru gezinmesine ve gerektiğinde eksik kelimeleri eklemesine izin verir. ListIterator kullanarak, bir işlem listesini geriye doğru dolaşıp gerekli yerlerde düzeltmeler ekleyebilirsin.

Bu egzersizde, kelime listesini tersten dolaşacak ve "error" bulursan, bir geri alma işlemini simüle etmek için öncesine correction ekleyeceksin.

Bu egzersiz, kursun bir parçasıdır

Java'da Girdi/Çıktı ve Akışlar

Kursa Göz Atın

Egzersiz talimatları

  • textHistory listesi için sondan başlayacak şekilde bir ListIterator nesnesi oluştur.
  • textHistory listesinde önceki öğelerin olup olmadığını kontrol et.
  • Önceki öğeyi al ve ListIterator'ı geriye hareket ettir.
  • error öğesinin öncesine yeni correction öğesini ekle.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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);
    }
}
Kodu Düzenle ve Çalıştır