Problem
1. इस प्रश्न में अपरकेस अक्षरों से बनी स्ट्रिंग्स के बारे में तर्क करना शामिल है। आप दो संबंधित पद्धतियों को लागू करेंगे जो एक ही कक्षा में दिखाई देती हैं (दिखाई नहीं गई)। पहली विधि एकल स्ट्रिंग पैरामीटर लेती है और उस स्ट्रिंग का एक स्क्रैम्बल संस्करण लौटाती है। दूसरी विधि स्ट्रिंग्स की एक सूची लेती है और सूची में प्रत्येक प्रविष्टि को स्क्रैम्बल करके सूची को संशोधित करती है। कोई भी प्रविष्टि जिसे स्क्रैम्बल नहीं किया जा सकता है, उसे सूची से हटा दिया जाता है।
a) विधि स्क्रैम्बलवर्ड लिखें, जो एक दिए गए शब्द को लेता है और एक स्ट्रिंग देता है जिसमें निम्नलिखित नियमों के अनुसार शब्द का एक स्क्रैम्बल संस्करण होता है।
<उल>
स्क्रैम्बलिंग प्रक्रिया शब्द के पहले अक्षर से शुरू होती है और बाएं से दाएं चलती है।
यदि लगातार दो अक्षरों में "A" है एक अक्षर के बाद जो "ए" नहीं है, फिर परिणामी स्ट्रिंग में दो अक्षरों की अदला-बदली की जाती है।
दो सन्निकट स्थितियों में अक्षरों की अदला-बदली हो जाने के बाद, उन दो स्थितियों में से कोई भी भविष्य की अदला-बदली में शामिल नहीं हो सकती है।
निम्न तालिका शब्दों और उनके तले हुए संस्करणों के कई उदाहरण दिखाती है।
<तालिका सीमा = "1" सेलपैडिंग = "1" सेलस्पेसिंग = "1" शैली = "चौड़ाई: 500 पीएक्स">
<शरीर>
शब्द |
scrambleWord(word) द्वारा लौटाया गया परिणाम |
"टैन" |
"टीएनए" |
"अब्राकदाबरा" |
"बरकादबारा" |
"WHOA" |
"WHOA" |
"अर्डवार्क" |
"अराद्रव्रक" |
"ईजीजीएस" |
"ईजीजीएस" |
"ए" |
"ए" |
"" |
"" |
टेबल>
पूरा तरीका स्क्रैम्बलवर्ड नीचे दिया गया है।
का उपयोग करके उत्पन्न किया गया
<पूर्व शैली = "मार्जिन-बाएं: 0 पीएक्स; मार्जिन-दाएं: 0 पीएक्स">
/** दिए गए शब्द को स्क्रैम्बल करता है।
* @param शब्द द वर्ड टू बी स्क्रैम्बल
* @बदला हुआ शब्द लौटाएं (संभवतः शब्द के बराबर)
* पूर्व शर्त: शब्द या तो खाली स्ट्रिंग है या इसमें केवल अपरकेस अक्षर हैं।
* पोस्टकंडिशन: लौटाई गई स्ट्रिंग शब्द से निम्नानुसार बनाई गई थी:
* - शब्द को पहले अक्षर से शुरू करते हुए और बाएं से दाएं क्रम में लिखा गया था
* - "ए" से मिलकर लगातार दो अक्षर उसके बाद एक अक्षर जो "ए" अदला-बदली की गई
* - अक्षरों की अदला-बदली अधिक से अधिक एक बार की गई थी
*/
सार्वजनिक स्थैतिक स्ट्रिंग scrambleWord(String शब्द)
पूर्व>
बी) स्क्रैम्बलऑररिमूव विधि लिखें, जो प्रत्येक शब्द को पैरामीटर वर्डलिस्ट में उसके तले हुए संस्करण के साथ बदल देता है और किसी भी ऐसे शब्द को हटा देता है जो स्क्रैम्बलिंग के बाद अपरिवर्तित रहता है। WordList में प्रविष्टियों का सापेक्षिक क्रम वही रहता है जो scrambleOrRemove को कॉल करने से पहले था।
निम्न उदाहरण दिखाता है कि कैसे scrambleOrRemove को कॉल करने के परिणामस्वरूप WordList की सामग्री को संशोधित किया जाएगा।
ScrambleOrRemove को कॉल करने से पहले:
शब्दसूची
<तालिका सीमा = "1" सेलपैडिंग = "1" सेलस्पेसिंग = "1" शैली = "चौड़ाई: 500 पीएक्स">
<शरीर>
0 |
1 |
2 |
3 |
4 |
"TAN" |
"ABRACADABRA" |
"WHOA" |
"सेब" |
"ईजीजीएस" |
टेबल>
ScrambleOrRemove को कॉल करने के बाद:
शब्द सूची
<तालिका सीमा = "1" सेलपैडिंग = "1" सेलस्पेसिंग = "1" शैली = "चौड़ाई: 500 पीएक्स">
<शरीर>
0 |
1 |
2 |
"TAN" |
"BARCADABARA" |
"PAPLE" |
टेबल>