Programme Java pour vérifier si une chaîne est un mélange valide de deux chaînes distinctes

Dans cet exemple, nous vérifierons si une chaîne est le mélange valide de deux autres chaînes en Java.

Pour comprendre cet exemple, vous devez avoir la connaissance des rubriques de programmation Java suivantes:

  • Chaîne Java
  • Java pendant et faire… en boucle

Exemple: vérifier si une chaîne est un mélange valide de deux autres chaînes

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

Production

 1XY2 est un mélange valide de XY et 12 Y12X n'est pas un mélange valide de XY et 12

Dans l'exemple ci-dessus, nous avons un tableau de chaînes nommé results. Il contient deux chaînes: 1XY2 et Y12X. Nous vérifions si ces deux chaînes sont un mélange valide des chaînes première (XY) et deuxième (12).

Ici, le programme dit que 1XY2 est un mélange valide de XY et 12. Cependant, Y12X n'est pas un mélange valide.

C'est parce que Y12X a modifié l'ordre de la chaîne XY. Ici, Y est utilisé avant X. Par conséquent, pour être un mélange valide, l'ordre de la chaîne doit être conservé.

Remarque : Le programme est confus si les lettres initiales de deux chaînes correspondent. Par exemple, si ab12 et abb34 sont deux chaînes, alors abbab1234 est un shuffle valide.

Cependant, le programme traitera les deux premières lettres ab comme faisant partie de la première chaîne. Pour cette raison, la troisième lettre b ne correspond pas à la fois à la troisième lettre de la première chaîne (1) et à la première lettre de la deuxième chaîne (a).

Articles intéressants...