Batalkan aksi terakhir di editor teks
Banyak editor teks memungkinkan pengguna menelusuri perubahan secara mundur dan menyisipkan kata yang terlewat saat diperlukan. Dengan menggunakan ListIterator, Anda dapat bergerak mundur melalui daftar aksi dan menyisipkan koreksi jika diperlukan.
Dalam latihan ini, Anda akan menelusuri daftar kata secara terbalik, dan jika Anda menemukan "error", Anda akan menyisipkan correction sebelum itu, mensimulasikan operasi undo di editor teks.
Latihan ini adalah bagian dari kursus
Input/Output dan Stream di Java
Petunjuk latihan
- Buat objek
ListIteratoruntuk daftartextHistory, mulai dari akhir. - Periksa apakah masih ada elemen sebelumnya yang tersedia dalam daftar
textHistory. - Ambil elemen sebelumnya dan gerakkan
ListIteratorke belakang - Sisipkan elemen baru
correctionsebelum elemenerror
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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);
}
}