CodeGym /مدونة جافا /Random-AR /عكس سلسلة في جافا
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";

كيفية عكس سلسلة في جافا؟

هناك طرق مختلفة لعكس سلسلة في Java. ومع ذلك، لا توفر Java أي طريقة عكسية () لفئة السلسلة . يبدأ النهج الساذج باستخدام الحلقة . الإجراء التكراري التقليدي. يمكننا لاحقًا بناءه باستخدام الأساليب العكسية() التي تقدمها فئات أخرى مثل StringBuilder و StringBuffer .

الطريقة الأولى - الطريقة التكرارية للمدرسة القديمة

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 عكسي (أنا أحب جافا!) = !AVAJ EVOL I عكسي (المكان المفضل لتعلم جافا هو CodeGym.) = .myGedoC si avaJ nrael ot ecalp etiruovaf yM عكسي (اسمي لوبينا خان.) = .nahK aniabuL si eman yM عكسي(null) = nullverse() =

توضيح

public static String reverseInputString(String myString) { ... }
تأخذ الطريقة عكسيةInputString سلسلة إدخال تسمى myString .
if (myString == null)
	return myString;
تحقق مما إذا كانت سلسلة الإدخال ، أي myString، فارغة. إذا وجدت فارغة، قم بإرجاع الإدخال كما هو. لسنا بحاجة للمضي قدمًا. وهذا ما يسمى معالجة الحالة الحدودية لتجنب أي أخطاء.
String reverseString = "";
قم بتعريف سلسلة فارغة لتخزين الإخراج.
for (int i = myString.length() - 1; i >= 0; i--) {
	reverseString = reverseString + myString.charAt(i);
}
استخدم حلقة for عادية . قم بتهيئة المكرر i من الفهرس الأخير لسلسلة الإدخال . الوصول إلى الفهرس الأخير لسلسلة الإدخال وتخزينه في سلسلة الإخراج. استمر في التكرار حتى تصل إلى الفهرس 0 أو بداية سلسلة الإدخال.
return reverseString;
قم بإرجاع سلسلة عكسية واستخدمها وفقًا لمتطلباتك.

الطريقة الثانية - استخدام فئة منشئ السلسلة

في Java، لا يمكن تغيير محتويات السلسلة بمجرد تهيئتها. وبالتالي، لا توجد طريقة عكسية () متاحة للسلسلة . لكن الفئات الأخرى مثل StringBuilder و StringBuffer في Java تحتوي على محتويات قابلة للتغيير أو التغيير. لعكس سلسلة بدون حلقات، واستخدام فئة 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 عكس (عكس هذه السلسلة باستخدام فئة StringBuilder .) = .ssalC redliuBgnirtS gnisu gnirtS siht esreveR Reverse (عكس هذه السلسلة باستخدام StringBuffer Class.) = .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 .

خاتمة

بحلول نهاية هذا المنشور، يجب أن تكون على دراية بعكس السلاسل وكيفية تحقيق ذلك باستخدام فئات أخرى من StringBuilder وStringBuffer. يمكنك اختيار أي طريقة حسب راحتك. لا تتردد في القفز عندما تشعر بأنك عالق. وحتى ذلك الحين، استمر في التدرب واستمر في التألق.
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION