Mulai sekarangMulai 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 merupakan bagian dari kursus

Input/Output dan Stream di Java

Lihat Kursus

Instruksi 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 langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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