„Java“ programa, skirta patikrinti, ar eilutė yra teisingas dviejų skirtingų eilučių maišymas

Šiame pavyzdyje mes patikrinsime, ar eilutė yra galiojantis dviejų kitų „Java“ eilučių maišymas.

Norėdami suprasti šį pavyzdį, turite žinoti šias Java programavimo temas:

  • „Java“ eilutė
  • „Java“ ir daryk … o „Loop“

Pavyzdys: patikrinkite, ar eilutė yra teisingas dviejų kitų eilučių maišymas

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

Rezultatas

 1XY2 yra galiojantis XY ir 12 y shuffle, o Y12X nėra galiojantis XY ir 12 shuffle

Ankstesniame pavyzdyje turime eilutės masyvą, pavadintą rezultatais. Jame yra dvi eilutės: 1XY2 ir Y12X. Mes tikriname, ar šios dvi eilutės yra teisingos pirmųjų (XY) ir antrųjų (12) eilutės.

Čia programa sako, kad 1XY2 yra galiojantis XY ir 12 maišymas. Tačiau Y12X nėra galiojantis maišymas.

Taip yra todėl, kad Y12X pakeitė eilutės XY tvarką. Čia Y yra naudojamas prieš X. Taigi, norint būti teisingu maišymu, reikia išlaikyti eilutės tvarką.

Pastaba : programa sutrinka, jei sutampa dviejų eilučių pradinės raidės. Pvz., Jei ab12 ir abb34 yra dvi eilutės, tada abbab1234 yra galiojantis maišymas.

Tačiau programa pirmąsias dvi ab raides traktuos kaip pirmosios eilutės dalį. Dėl šios priežasties trečioji raidė b neatitinka tiek pirmosios eilutės trečiosios raidės (1), tiek antrosios eilutės (a) pirmosios raidės.

Įdomios straipsniai...