I dette eksemplet vil vi sjekke om en streng er den gyldige blandingen av to andre strenger i Java.
For å forstå dette eksemplet, bør du ha kunnskap om følgende Java-programmeringsemner:
- Java-streng
- Java mens og gjør… mens Loop
Eksempel: Sjekk om en streng er en gyldig blanding av to andre strenger
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); ) ) ) )
Produksjon
1XY2 er en gyldig blanding av XY og 12 Y12X er ikke en gyldig blanding av XY og 12
I eksemplet ovenfor har vi en strengmatrise som heter resultater. Den inneholder to strenger: 1XY2 og Y12X. Vi sjekker om disse to strengene er gyldig blanding av strengene først (XY) og andre (12).
Her sier programmet at 1XY2 er en gyldig blanding av XY og 12. Y12X er imidlertid ikke en gyldig blanding.
Dette er fordi Y12X har endret rekkefølgen på streng XY. Her brukes Y før X. Derfor, for å være en gyldig blanding, bør rekkefølgen av streng opprettholdes.
Merk : Programmet blir forvirret hvis de første bokstavene i to strenger stemmer overens. For eksempel, hvis ab12 og abb34 er to strenger, så er abbab1234 en gyldig blanding.
Imidlertid vil programmet behandle de to første bokstavene ab som en del av den første strengen. På grunn av dette samsvarer ikke tredje bokstav b med både tredje bokstav i første streng (1) og første bokstav i andre streng (a).