I dette eksempel vil vi kontrollere, om en streng er den gyldige blanding af to andre strenge i Java.
For at forstå dette eksempel skal du have kendskab til følgende Java-programmeringsemner:
- Java-streng
- Java mens og gør … mens Loop
Eksempel: Kontroller, om en streng er en gyldig blanding af to andre strenge
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 er en gyldig blanding af XY og 12 Y12X er ikke en gyldig blanding af XY og 12
I ovenstående eksempel har vi en streng array, der hedder resultater. Den indeholder to strenge: 1XY2 og Y12X. Vi kontrollerer, om disse to strenge er gyldig blanding af strenge først (XY) og anden (12).
Her siger programmet, at 1XY2 er en gyldig blanding af XY og 12. Y12X er dog ikke en gyldig blanding.
Dette skyldes, at Y12X har ændret rækkefølgen af streng XY. Her bruges Y før X. Derfor skal rækkefølgen af streng opretholdes for at være en gyldig blanding.
Bemærk : Programmet bliver forvirret, hvis de første bogstaver i to strenge stemmer overens. For eksempel, hvis ab12 og abb34 er to strenge, så er abbab1234 en gyldig blanding.
Programmet behandler dog de to første bogstaver ab som en del af den første streng. På grund af dette stemmer det tredje bogstav b ikke overens med både tredje bogstav i første streng (1) og første bogstav i anden streng (a).