टेक्स्ट एडिटर में अंतिम कार्रवाई Undo करें
कई टेक्स्ट एडिटर उपयोगकर्ताओं को बदलावों में पीछे जाने और ज़रूरत पड़ने पर छूटे हुए शब्द जोड़ने देते हैं. ListIterator का उपयोग करके, आप कार्रवाइयों की लिस्ट में पीछे की ओर जा सकते हैं और जहाँ आवश्यक हो, सुधार insert कर सकते हैं.
इस अभ्यास में, आप शब्दों की लिस्ट को उल्टे क्रम में traverse करेंगे, और यदि आपको "error" मिले, तो आप उसके पहले correction insert करेंगे, ताकि टेक्स्ट एडिटर में undo ऑपरेशन का सिमुलेशन हो.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Java में इनपुट/आउटपुट और स्ट्रीम्स
अभ्यास निर्देश
textHistoryलिस्ट के लिए एकListIteratorऑब्जेक्ट बनाएँ, शुरुआत अंत से करें.- जाँचें कि
textHistoryलिस्ट में और पिछले तत्व उपलब्ध हैं या नहीं. - पिछले तत्व को प्राप्त करें और
ListIteratorको पीछे ले जाएँ. - तत्व
errorसे पहले नया तत्वcorrectioninsert करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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);
}
}