Java-programma om te controleren of een string een geldige shuffle is van twee verschillende strings

In dit voorbeeld zullen we controleren of een string de geldige shuffle is van twee andere strings in Java.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:

  • Java-tekenreeks
  • Java while en do … while Loop

Voorbeeld: controleer of een string een geldige shuffle is van twee andere strings

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

Uitvoer

 1XY2 is een geldige shuffle van XY en 12 Y12X is geen geldige shuffle van XY en 12

In het bovenstaande voorbeeld hebben we een string-array met de naam results. Het bevat twee strings: 1XY2 en Y12X. We controleren of deze twee strings geldige shuffle zijn van strings eerst (XY) en tweede (12).

Hier zegt het programma dat 1XY2 een geldige shuffle is van XY en 12. Y12X is echter geen geldige shuffle.

Dit komt doordat Y12X de volgorde van tekenreeks XY heeft gewijzigd. Hier wordt Y vóór X gebruikt. Om een ​​geldige shuffle te zijn, moet de volgorde van de string worden gehandhaafd.

Opmerking : het programma raakt in de war als de beginletters van twee strings overeenkomen. Als ab12 en abb34 bijvoorbeeld twee strings zijn, dan is abbab1234 een geldige shuffle.

Het programma behandelt de eerste twee letters ab echter als onderdeel van de eerste string. Hierdoor komt de derde letter b niet overeen met zowel de derde letter van de eerste string (1) als de eerste letter van de tweede string (a).

Interessante artikelen...