शुरू करेंमुफ़्त में शुरू करें

टेक्स्ट एडिटर में अंतिम कार्रवाई Undo करें

कई टेक्स्ट एडिटर उपयोगकर्ताओं को बदलावों में पीछे जाने और ज़रूरत पड़ने पर छूटे हुए शब्द जोड़ने देते हैं. ListIterator का उपयोग करके, आप कार्रवाइयों की लिस्ट में पीछे की ओर जा सकते हैं और जहाँ आवश्यक हो, सुधार insert कर सकते हैं.

इस अभ्यास में, आप शब्दों की लिस्ट को उल्टे क्रम में traverse करेंगे, और यदि आपको "error" मिले, तो आप उसके पहले correction insert करेंगे, ताकि टेक्स्ट एडिटर में undo ऑपरेशन का सिमुलेशन हो.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Java में इनपुट/आउटपुट और स्ट्रीम्स

पाठ्यक्रम देखें

अभ्यास निर्देश

  • textHistory लिस्ट के लिए एक ListIterator ऑब्जेक्ट बनाएँ, शुरुआत अंत से करें.
  • जाँचें कि textHistory लिस्ट में और पिछले तत्व उपलब्ध हैं या नहीं.
  • पिछले तत्व को प्राप्त करें और ListIterator को पीछे ले जाएँ.
  • तत्व error से पहले नया तत्व correction insert करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

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);
    }
}
कोड संपादित करें और चलाएँ