ريورس اسٽرنگ ڇا آهي؟
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";
جاوا ۾ اسٽرنگ کي ڪيئن ريورس ڪجي؟
جاوا ۾ اسٽرنگ کي ريورس ڪرڻ جا مختلف طريقا آھن . بهرحال، جاوا مهيا نٿو ڪري ڪو به ريورس () طريقو اسٽرنگ ڪلاس لاءِ. سادي طريقي سان لوپ استعمال ڪرڻ سان شروع ٿئي ٿو . روايتي ورهاڱي وارو عمل. بعد ۾ اسان ان کي استعمال ڪندي ٺاهي سگھون ٿا ريورس () طريقا استعمال ڪندي ٻين طبقن جهڙوڪ 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));
}
}
پيداوار
reverse(XYZ) = ZYX reverse(1 2 3) = 3 2 1 reverse(I LOVE JAVA!) = !AVAJ EVOL I reverse(جاوا سکڻ لاءِ منهنجي پسنديده جڳهه CodeGym آهي.) = .myGedoC si avaJ nrael ot ecalp etiruovaf yM ريورس (منهنجو نالو لبينه خان آهي.) = .nahK aniabuL si eman yM reverse(null) = null reverse() =
وضاحت
public static String reverseInputString(String myString) { ... }
طريقو reverseInputString هڪ ان پٽ اسٽرنگ وٺي ٿو جنهن کي myString سڏيو ويندو آهي .
if (myString == null)
return myString;
چيڪ ڪريو ته ان پٽ اسٽرنگ يعني myString null آهي. جيڪڏهن مليا ته null، ان پٽ کي واپس ڏيو جيئن اهو آهي. اسان کي اڳتي وڌڻ جي ضرورت ناهي. ان کي چئبو آهي بائونڊري ڪيس هينڊلنگ ڪنهن به غلطي کان بچڻ لاءِ.
String reverseString = "";
آئوٽ کي ذخيرو ڪرڻ لاءِ خالي اسٽرنگ جو اعلان ڪريو.
for (int i = myString.length() - 1; i >= 0; i--) {
reverseString = reverseString + myString.charAt(i);
}
لوپ لاء عام استعمال ڪريو . ان پٽ اسٽرنگ جي آخري انڊيڪس مان آئٽرٽر i کي شروع ڪريو . ان پٽ اسٽرنگ جي آخري انڊيڪس تائين رسائي ڪريو ۽ ان کي آئوٽ پٽ اسٽرنگ ۾ ذخيرو ڪريو. ورجائيندا رهو جيستائين توهان 0th انڊيڪس يا ان پٽ اسٽرنگ جي شروعات تي پهچي وڃو.
return reverseString;
ReverseString کي واپس ڪريو ۽ ان کي استعمال ڪريو توھان جي ضرورتن مطابق.
طريقو 2 - اسٽرنگ بلڊر ڪلاس جو استعمال
جاوا ۾، هڪ ڀيرو شروع ٿيڻ واري اسٽرنگ جو مواد تبديل نه ٿو ڪري سگھجي. ان ڪري، String s لاءِ ڪو به ريورس () طريقو موجود ناهي . پر ٻين طبقن جهڙوڪ 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 ريورس (مون کي ڪوڊ گيم پسند آهي!) = !myGedoC ارتقاء مان ريورس (StringBuilder Class استعمال ڪندي هن اسٽرنگ کي ريورس ڪريو) .) = .ssalC redliuBgnirtS gnisu gnirtS siht esreveR ريورس (هن اسٽرنگ کي اسٽرنگ بفر ڪلاس استعمال ڪندي ريورس ڪريو.) = .ssalC reffuBgnirtS gnisu gnirtS siht esreveR
وضاحت
String input1 = "A B C";
StringBuilder inputText1 = new StringBuilder(input1);
ان پٽ اسٽرنگ کي ريورس ڪرڻ لاءِ توھان کي ان کي تبديل ڪرڻو پوندو StringBuilder . ان لاءِ، ان پٽ اسٽرنگ کي 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