CodeGym /جاوا بلاگ /Random-UR /جاوا میں اسٹرنگ کو ریورس کریں۔
John Squirrels
سطح
San Francisco

جاوا میں اسٹرنگ کو ریورس کریں۔

گروپ میں شائع ہوا۔

ریورس سٹرنگ کیا ہے؟

"ایک سٹرنگ کو اس کے آخری کردار سے شروع کرکے پہلے کردار تک پڑھنا شروع کریں۔ بنگو! وہ آپ کی الٹی ہوئی تار تھی۔"
یہ کیسا نظر آئے گا اس کا ایک مظاہرہ یہاں ہے۔

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));
	}
}

آؤٹ پٹ

ریورس(XYZ) = ZYX ریورس(1 2 3) = 3 2 1 ریورس(I LOVE JAVA!) = !AVAJ EVOL I ریورس (جاوا سیکھنے کے لیے میری پسندیدہ جگہ 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);
}
لوپ کے لیے نارمل استعمال کریں ۔ ان پٹ سٹرنگ کے آخری انڈیکس سے iterator i کو شروع کریں ۔ ان پٹ سٹرنگ کے آخری انڈیکس تک رسائی حاصل کریں اور اسے آؤٹ پٹ سٹرنگ میں اسٹور کریں۔ اس وقت تک دہراتے رہیں جب تک کہ آپ 0ویں انڈیکس یا ان پٹ سٹرنگ کے آغاز تک نہ پہنچ جائیں۔

return 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 ریورس(Monday) = yadnoM reverse(I love CodeGym!) = !myGedoC evol I ریورس(StringBuilder Class کا استعمال کرتے ہوئے اس سٹرنگ کو ریورس کریں ).

وضاحت


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 کو بھیج سکتے ہیں ۔

نتیجہ

اس پوسٹ کے اختتام تک، آپ کو Strings کے الٹ جانے اور StringBuilder اور StringBuffer کی دوسری کلاسوں کا استعمال کرتے ہوئے اسے حاصل کرنے کے طریقے سے واقف ہونا چاہیے۔ آپ اپنی سہولت کے مطابق کوئی بھی طریقہ منتخب کر سکتے ہیں۔ جب بھی آپ پھنسے ہوئے محسوس کریں تو بلا جھجھک ہاپ کریں۔ تب تک، مشق کرتے رہیں اور چمکتے رہیں۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION