रिवर्स स्ट्रिंग क्या है?
Input String = "X Y Z";
Output String = "Z Y X"
Input String = "1 2 3";
Output String = "3 2 1";
Input String = "I love Java!";
Output String = "!avaJ evol I";
जावा में एक स्ट्रिंग को कैसे उल्टा करें?
जावा में एक स्ट्रिंग को उलटने के विभिन्न तरीके हैं । हालाँकि, जावा स्ट्रिंग क्लास के लिए कोई रिवर्स () विधि प्रदान नहीं करता है । सरल दृष्टिकोण for लूप के उपयोग से शुरू होता है। पारंपरिक पुनरावृत्ति प्रक्रिया। बाद में हम इसे StringBuilder और StringBuffer जैसे अन्य वर्गों द्वारा प्रदान की जाने वाली रिवर्स () विधियों का उपयोग करके बना सकते हैं ।विधि 1 - ओल्ड स्कूल इटरेटिव वे
public class StringReversal {
public static String reverseInputString(String myString) {
if (myString == null)
return myString;
String reverseString = "";
for (int i = myString.length() - 1; i >= 0; i--) {
reverseString = reverseString + myString.charAt(i);
}
return reverseString;
}
public static void main(String[] args) {
String myString1 = "X Y Z";
System.out.println("reverse(" + myString1 + ") = " + reverseInputString(myString1));
String myString2 = "1 2 3";
System.out.println("reverse(" + myString2 + ") = " + reverseInputString(myString2));
String myString3 = "I LOVE JAVA!";
System.out.println("reverse(" + myString3 + ") = " + reverseInputString(myString3));
String myString4 = "My favourite place to learn Java is CodeGym.";
System.out.println("reverse(" + myString4 + ") = " + reverseInputString(myString4));
String myString5 = "My name is Lubaina Khan.";
System.out.println("reverse(" + myString5 + ") = " + reverseInputString(myString5));
// Boundary Case to see what happens if a String is null
String myString6 = null;
System.out.println("reverse(" + myString6 + ") = " + reverseInputString(myString6));
// Boundary Case to see what happens if a String is empty
String myString7 = "";
System.out.println("reverse(" + myString7 + ") = " + reverseInputString(myString7));
}
}
उत्पादन
रिवर्स (XYZ) = ZYX रिवर्स (1 2 3) = 3 2 1 रिवर्स (मुझे जावा पसंद है!) रिवर्स (मेरा नाम लुबैना खान है।)
व्याख्या
public static String reverseInputString(String myString) { ... }
विधि reverseInputString myString नामक एक इनपुट स्ट्रिंग लेती है ।
if (myString == null)
return myString;
जांचें कि इनपुट स्ट्रिंग यानी myString शून्य है या नहीं। यदि शून्य पाया जाता है, तो इनपुट को जैसा है वैसा ही वापस करें। हमें आगे बढ़ने की जरूरत नहीं है। किसी भी त्रुटि से बचने के लिए इसे बाउंड्री केस हैंडलिंग कहा जाता है।
String reverseString = "";
आउटपुट को स्टोर करने के लिए एक खाली स्ट्रिंग घोषित करें।
for (int i = myString.length() - 1; i >= 0; i--) {
reverseString = reverseString + myString.charAt(i);
}
लूप के लिए सामान्य का प्रयोग करें । इनपुट String के अंतिम इंडेक्स से iterator i को इनिशियलाइज़ करें । इनपुट स्ट्रिंग के अंतिम इंडेक्स तक पहुंचें और इसे आउटपुट स्ट्रिंग में स्टोर करें। जब तक आप 0 इंडेक्स या इनपुट स्ट्रिंग की शुरुआत तक नहीं पहुंच जाते तब तक दोहराते रहें।
return reverseString;
रिवर्सस्ट्रिंग लौटाएं और अपनी आवश्यकताओं के अनुसार इसका इस्तेमाल करें।
विधि 2 - स्ट्रिंग बिल्डर क्लास का उपयोग
जावा में, एक बार प्रारंभ होने पर स्ट्रिंग की सामग्री को बदला नहीं जा सकता है। इसलिए, स्ट्रिंग एस के लिए कोई रिवर्स () विधि उपलब्ध नहीं है । लेकिन जावा में StringBuilder और StringBuffer जैसी अन्य कक्षाओं में ऐसी सामग्री होती है जो परिवर्तनशील या परिवर्तनशील होती है। लूप के बिना स्ट्रिंग को रिवर्स करने के लिए, और बिल्ट-इन StringBuilder या StringBuffer क्लास का उपयोग करके नीचे एक उदाहरण देखें।
public class StringBuilderReversal {
public static void main(String[] args) {
String input1 = "A B C";
StringBuilder inputText1 = new StringBuilder(input1);
System.out.println("reverse(" + inputText1 + ") = " + inputText1.reverse());
String input2 = "0 1 2 2 3 3 3";
StringBuilder inputText2 = new StringBuilder(input2);
System.out.println("reverse(" + inputText2 + ") = " + inputText2.reverse());
String input3 = "Monday";
StringBuilder inputText3 = new StringBuilder(input3);
System.out.println("reverse(" + inputText3 + ") = " + inputText3.reverse());
String input4 = "I love CodeGym!";
StringBuilder inputText4 = new StringBuilder(input4);
System.out.println("reverse(" + inputText4 + ") = " + inputText4.reverse());
// ReverseString using the StringBuilder class
StringBuilder inputText5 = new StringBuilder("Reverse this String using StringBuilder Class.");
System.out.println("reverse(" + inputText5 + ") = " + inputText5.reverse());
// ReverseString using the StringBuffer class
StringBuffer inputText6 = new StringBuffer("Reverse this String using StringBuffer Class.");
System.out.println("reverse(" + inputText6 + ") = " + inputText6.reverse());
}
}
उत्पादन
रिवर्स (ABC) = CBA रिवर्स (0 1 2 2 3 3 3) = 3 3 3 2 2 1 0 रिवर्स (सोमवार) = yadnoM रिवर्स (मुझे CodeGym पसंद है!) = !myGedoC evol I रिवर्स (स्ट्रिंगबिल्डर क्लास का उपयोग करके इस स्ट्रिंग को उल्टा करें) .) = .ssalC redliuBgnirtS gnisu gnirtS siht esreveR रिवर्स (स्ट्रिंगबफ़र क्लास का उपयोग करके इस स्ट्रिंग को उल्टा करें।) = .ssalC reffuBgnirtS gnisu gnirtS siht esreveR
व्याख्या
String input1 = "A B C";
StringBuilder inputText1 = new StringBuilder(input1);
इनपुट स्ट्रिंग को उलटने के लिए आपको इसे स्ट्रिंगबिल्डर में बदलने की आवश्यकता है । उसके लिए, इनपुट स्ट्रिंग को StringBuilder कंस्ट्रक्टर को पास करें।
System.out.println("reverse(" + inputText1 + ") = " + inputText1.reverse());
String को StringBuilder में कनवर्ट करने के बाद , आप इसका उल्टा प्राप्त कर सकते हैं और आउटपुट प्रिंट कर सकते हैं।
// ReverseString using the StringBuffer class
StringBuffer inputText6 = new StringBuffer("Reverse this String using StringBuffer Class.");
वैकल्पिक रूप से, आप स्ट्रिंग को सीधे StringBuilder या StringBuffer पर पास कर सकते हैं ।
GO TO FULL VERSION