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
Egzersiz talimatları
textHistorylistesi için sondan başlayacak şekilde birListIteratornesnesi oluştur.textHistorylistesinde önceki öğelerin olup olmadığını kontrol et.- Önceki öğeyi al ve
ListIterator'ı geriye hareket ettir. erroröğesinin öncesine yenicorrectionöğ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);
}
}