In diesem Beispiel prüfen wir, ob eine Zeichenfolge die gültige Zufallswiedergabe von zwei anderen Zeichenfolgen in Java ist.
Um dieses Beispiel zu verstehen, sollten Sie die folgenden Java-Programmierthemen kennen:
- Java String
- Java während und mache … während Loop
Beispiel: Überprüfen Sie, ob eine Zeichenfolge eine gültige Mischung aus zwei anderen Zeichenfolgen ist
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); ) ) ) )
Ausgabe
1XY2 ist eine gültige Zufallswiedergabe von XY und 12 Y12X ist keine gültige Zufallswiedergabe von XY und 12
Im obigen Beispiel haben wir ein String-Array mit dem Namen results. Es enthält zwei Zeichenfolgen: 1XY2 und Y12X. Wir prüfen, ob diese beiden Zeichenfolgen zuerst (XY) und dann (12) eine gültige Mischung von Zeichenfolgen sind.
Hier sagt das Programm, dass 1XY2 eine gültige Zufallswiedergabe von XY und 12 ist. Y12X ist jedoch keine gültige Zufallswiedergabe.
Dies liegt daran, dass Y12X die Reihenfolge der Zeichenfolge XY geändert hat. Hier wird Y vor X verwendet. Um ein gültiges Shuffle zu sein, sollte daher die Reihenfolge der Zeichenfolge beibehalten werden.
Hinweis : Das Programm wird verwirrt, wenn die Anfangsbuchstaben zweier Zeichenfolgen übereinstimmen. Wenn beispielsweise ab12 und abb34 zwei Zeichenfolgen sind, ist abbab1234 eine gültige Zufallswiedergabe .
Das Programm behandelt jedoch die ersten beiden Buchstaben ab als Teil der ersten Zeichenfolge. Aus diesem Grund stimmt der dritte Buchstabe b nicht sowohl mit dem dritten Buchstaben der ersten Zeichenfolge (1) als auch mit dem ersten Buchstaben der zweiten Zeichenfolge (a) überein.