CodeGym /Java Blog /Acak /Balikkan String di Jawa
John Squirrels
Level 41
San Francisco

Balikkan String di Jawa

Dipublikasikan di grup Acak

Apa itu Reverse String?

“Mulailah membaca sebuah String mulai dari karakter terakhirnya hingga karakter pertama. Bingo! itu string terbalikmu."
Berikut adalah demonstrasi bagaimana tampilannya.

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";

Bagaimana cara Membalikkan String di Jawa?

Ada berbagai cara untuk membalikkan String di Jawa. Namun, Java tidak menyediakan metode reverse() apa pun untuk kelas String . Pendekatan naif dimulai dengan menggunakan for loop. Prosedur iteratif tradisional. Nanti kita bisa membangunnya dengan menggunakan metode reverse() yang ditawarkan oleh kelas lain seperti StringBuilder dan StringBuffer .

Metode 1 - Cara Iteratif Sekolah Lama


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

Keluaran

reverse(XYZ) = ZYX reverse(1 2 3) = 3 2 1 reverse(I LOVE JAVA!) = !AVAJ EVOL I reverse(Tempat favorit saya untuk belajar Java adalah CodeGym.) = .myGedoC si avaJ nrael ot ecalp etiruovaf yM reverse(Nama saya Lubaina Khan.) = .nahK aniabuL si eman yM reverse(null) = null reverse() =

Penjelasan


public static String reverseInputString(String myString) { ... }
Metode reverseInputString mengambil String Input yang disebut myString .

if (myString == null)
	return myString;
Periksa apakah String input yaitu myString adalah nol. Jika ditemukan nol, kembalikan input apa adanya. Kita tidak perlu melanjutkan lebih jauh. Ini disebut penanganan kasus batas untuk menghindari kesalahan.

String reverseString = "";
Deklarasikan String kosong untuk menyimpan output.

for (int i = myString.length() - 1; i >= 0; i--) {		
	reverseString = reverseString + myString.charAt(i);
}
Gunakan normal untuk loop. Inisialisasi iterator i dari indeks terakhir dari input String . Akses indeks terakhir dari string input dan simpan di string output. Terus ulangi hingga Anda mencapai indeks ke-0 atau awal string input.

return reverseString;
Kembalikan reverseString dan gunakan sesuai kebutuhan Anda.

Metode 2 - Penggunaan Kelas Pembuat String

Di Java, isi dari sebuah String setelah diinisialisasi tidak dapat diubah. Oleh karena itu, tidak ada metode reverse() yang tersedia untuk String s. Tetapi kelas lain seperti StringBuilder dan StringBuffer di Java memang mengandung konten yang dapat diubah atau diubah. Untuk membalikkan string tanpa loop, dan menggunakan kelas StringBuilder atau StringBuffer bawaan, mari kita lihat contoh di bawah ini.

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

Keluaran

reverse(ABC) = CBA reverse(0 1 2 2 3 3 3) = 3 3 3 2 2 1 0 reverse(Senin) = yadnoM reverse(Saya suka CodeGym!) = !myGedoC evol I reverse(Membalikkan String ini menggunakan Kelas StringBuilder .) = .ssalC redliuBgnirtS gnisu gnirtS siht esreveR terbalik (Membalikkan String ini menggunakan Kelas StringBuffer.) = .ssalC reffuBgnirtS gnisu gnirtS siht esreveR

Penjelasan


String input1 = "A B C";
StringBuilder inputText1 = new StringBuilder(input1);
Untuk membalikkan String input, Anda perlu mengubahnya menjadi StringBuilder . Untuk itu, teruskan input String ke konstruktor StringBuilder .

System.out.println("reverse(" + inputText1 + ") = " + inputText1.reverse());
Setelah mengonversi String ke StringBuilder , Anda bisa mendapatkan kebalikannya dan mencetak hasilnya.

 // ReverseString using the StringBuffer class
StringBuffer inputText6 = new StringBuffer("Reverse this String using StringBuffer Class.");
Sebagai alternatif, Anda dapat meneruskan sebuah String langsung ke StringBuilder atau StringBuffer .

Kesimpulan

Pada akhir posting ini, Anda harus terbiasa dengan pembalikan String dan cara mencapainya menggunakan kelas StringBuilder dan StringBuffer lainnya. Anda dapat memilih metode apa pun sesuai kenyamanan Anda. Jangan ragu untuk naik kapan pun Anda merasa mandek. Sampai saat itu, terus berlatih dan terus bersinar.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION