MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Buat objek ListIterator untuk daftar textHistory, mulai dari akhir.
  • Periksa apakah masih ada elemen sebelumnya yang tersedia dalam daftar textHistory.
  • Ambil elemen sebelumnya dan gerakkan ListIterator ke belakang
  • Sisipkan elemen baru correction sebelum elemen error

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);
    }
}
Edit dan Jalankan Kode