Java programma, lai pārbaudītu, vai virkne ir derīga divu atšķirīgu virkņu jaukšana

Šajā piemērā mēs pārbaudīsim, vai virkne ir derīga divu citu Java virkņu sajaukšana.

Lai saprastu šo piemēru, jums jāpārzina šādas Java programmēšanas tēmas:

  • Java virkne
  • Java kamēr un dari … kamēr Loop

Piemērs: pārbaudiet, vai virkne ir derīga divu citu virkņu sajaukšana

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

Rezultāts

 1XY2 ir derīga XY jaukšana 12 un Y12X nav derīga XY un 12 jaukšana

Iepriekš minētajā piemērā mums ir virkņu masīvs ar nosaukumiem. Tas satur divas virknes: 1XY2 un Y12X. Mēs pārbaudām, vai šīs divas virknes ir derīgas, vispirms sajaucot virknes (XY) un otro (12).

Šeit programma saka, ka 1XY2 ir derīga XY un 12 jaukšana. Tomēr Y12X nav derīga jaukšana.

Tas ir tāpēc, ka Y12X ir mainījis virknes XY secību. Šeit Y tiek izmantots pirms X. Tāpēc, lai būtu derīga jaukšana, virkņu secība būtu jāsaglabā.

Piezīme . Programma sajaucas, ja sakrīt divu virkņu sākotnējie burti. Piemēram, ja ab12 un abb34 ir divas virknes, tad abbab1234 ir derīga jaukšana.

Tomēr programma pirmos divus burtus ab apstrādās kā daļu no pirmās virknes. Tādēļ trešais burts b nesakrīt gan ar pirmās virknes trešo burtu (1), gan ar otrās virknes pirmo burtu (a).

Interesanti raksti...