Dalam contoh ini, kami akan memeriksa apakah sebuah string adalah shuffle valid dari dua string lain di Java.
Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman Java berikut:
- String Java
- Java sementara dan melakukan… saat Loop
Contoh: Periksa apakah sebuah string adalah pengacakan valid dari dua string lainnya
class Main ( // check if result string is valid shuffle of string first and second static boolean shuffleCheck(String first, String second, String result) ( // check length of result is same as // sum of result of first and second if(first.length() + second.length() != result.length()) ( return false; ) // variables to track each character of 3 strings int i = 0, j = 0, k = 0; // iterate through all characters of result while (k != result.length()) ( // check if first character of result matches with first character of first string if (i < first.length() && first.charAt(i) == result.charAt(k)) i++; // check if first character of result matches the first character of second string else if (j < second.length() && second.charAt(j) == result.charAt(k)) j++; // if the character doesn't match else ( return false; ) // access next character of result k++; ) // after accessing all characters of result // if either first or second has some characters left if(i < first.length() || j < second.length()) ( return false; ) return true; ) public static void main(String() args) ( String first = "XY"; String second = "12"; String() results = ("1XY2", "Y12X"); // call the method to check if result string is // shuffle of the string first and second for (String result : results) ( if (shuffleCheck(first, second, result) == true) ( System.out.println(result + " is a valid shuffle of " + first + " and " + second); ) else ( System.out.println(result + " is not a valid shuffle of " + first + " and " + second); ) ) ) )
Keluaran
1XY2 adalah pengacakan yang valid dari XY dan 12 Y12X bukan pengacakan yang valid dari XY dan 12
Dalam contoh di atas, kami memiliki array string bernama result. Ini berisi dua string: 1XY2 dan Y12X. Kami memeriksa apakah kedua string ini adalah pengocokan string yang valid terlebih dahulu (XY) dan kedua (12).
Di sini, program mengatakan 1XY2 adalah pengacakan valid dari XY dan 12. Namun, Y12X bukan pengacakan yang valid.
Ini karena Y12X telah mengubah urutan string XY. Di sini, Y digunakan sebelum X. Oleh karena itu, agar shuffle yang valid, urutan string harus dipertahankan.
Catatan : Program menjadi bingung jika huruf awal dari dua string cocok. Misalnya, jika ab12 dan abb34 adalah dua string, maka abbab1234 adalah pengacakan yang valid.
Namun, program akan memperlakukan dua huruf pertama ab sebagai bagian dari string pertama. Oleh karena itu, huruf ketiga b tidak cocok dengan huruf ketiga dari string pertama (1) dan huruf pertama dari string kedua (a).