Java-program för att kontrollera om en sträng är en giltig blandning av två olika strängar

I det här exemplet kommer vi att kontrollera om en sträng är den giltiga blandningen av två andra strängar i Java.

För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:

  • Java-sträng
  • Java medan och gör … medan Loop

Exempel: Kontrollera om en sträng är en giltig blandning av två andra strängar

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

Produktion

 1XY2 är en giltig blandning av XY och 12 Y12X är inte en giltig blandning av XY och 12

I exemplet ovan har vi en strängmatris med namnet resultat. Den innehåller två strängar: 1XY2 och Y12X. Vi kontrollerar om dessa två strängar är giltiga blandning av strängar först (XY) och andra (12).

Här säger programmet att 1XY2 är en giltig blandning av XY och 12. Y12X är dock inte en giltig blandning.

Detta beror på att Y12X har ändrat ordningen på sträng XY. Här används Y före X. Därför, för att vara en giltig blandning, bör ordningen på strängen bibehållas.

Obs! Programmet blir förvirrat om de första bokstäverna i två strängar matchar. Till exempel, om ab12 och abb34 är två strängar, är abbab1234 en giltig blandning.

Programmet behandlar dock de två första bokstäverna ab som en del av den första strängen. På grund av detta matchar den tredje bokstaven b inte både den tredje bokstaven i den första strängen (1) och den första bokstaven i den andra strängen (a).

Intressanta artiklar...