Tässä esimerkissä tarkistamme, onko merkkijono kelvollinen kahden muun Java-merkkijonon sekoitus.
Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Java-ohjelmointiaiheista:
- Java-merkkijono
- Java taas ja tee … samalla kun silmukka
Esimerkki: Tarkista, onko merkkijono kelvollinen kahden muun merkkijonon sekoitus
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); ) ) ) )
Tuotos
1XY2 on kelvollinen XY-sekoitus ja 12 Y12X ei ole kelvollinen XY- ja 12-sekoitus
Yllä olevassa esimerkissä meillä on merkkijonoryhmä nimeltä tulokset. Se sisältää kaksi merkkijonoa: 1XY2 ja Y12X. Tarkistamme, ovatko nämä kaksi merkkijonoa voimassa olevien merkkijonojen sekoitus ensin (XY) ja toinen (12).
Tässä ohjelmassa sanotaan, että 1XY2 on kelvollinen XY: n ja 12: n sekoitus. Y12X ei kuitenkaan ole kelvollinen sekoitus.
Tämä johtuu siitä, että Y12X on muuttanut merkkijonon XY järjestystä. Tässä Y: tä käytetään ennen X: tä. Siksi merkkijonojen järjestys tulisi säilyttää kelvollisena sekoituksena.
Huomaa : Ohjelma sekoittuu, jos kahden merkkijonon alkukirjaimet vastaavat toisiaan. Esimerkiksi, jos ab12 ja abb34 ovat kaksi merkkijonoa, niin abbab1234 on kelvollinen sekoitus.
Ohjelma käsittelee kuitenkin kahta ensimmäistä kirjainta ab osana ensimmäistä merkkijonoa. Tästä johtuen kolmas kirjain b ei vastaa sekä ensimmäisen merkkijonon (1) kolmatta kirjainta että toisen merkkijonon (a) ensimmäistä kirjainta.