दो स्ट्रिंग्स के सामान्य अक्षरों को वर्णानुक्रम में प्रिंट करने के लिए, कोड इस प्रकार है -
उदाहरण
import java.io.*; import java.util.*; public class Demo{ static void common_chars(String str_1, String str_2){ int[] array_1 = new int[26]; int[] array_2 = new int[26]; int str_len_1 = str_1.length(); int str_len_2 = str_2.length(); for (int i = 0 ; i < str_len_1 ; i++) array_1[str_1.charAt(i) - 'a'] += 1; for (int i = 0 ; i < str_len_2 ; i++) array_2[str_2.charAt(i) - 'a'] += 1; for (int i = 0 ; i < 26 ; i++){ if (array_1[i] != 0 && array_2[i] != 0){ for (int j = 0 ; j < Math.min(array_1[i], array_2[i]) ; j++) System.out.print(((char)(i + 'a'))); } } } public static void main(String[] args) throws IOException{ String my_str_1 = "itsasample"; String my_str_2 = "thisisasample"; System.out.println("The common characters between the two strings in alphabetical order is : "); common_chars(my_str_1, my_str_2); } }
आउटपुट
The common characters between the two strings in alphabetical order is : aaeilmpsst
डेमो नामक एक वर्ग में 'common_chars' नाम का एक फ़ंक्शन होता है, जो आकार 26 के दो पूर्णांक सरणियों की घोषणा करता है (अंग्रेजी में 26 अक्षरों को दर्शाता है)। उनकी लंबाई क्रमशः दो अलग-अलग चरों में संग्रहित होती है।
सरणियों को 'ए' के एएससीआई और प्रत्येक चरित्र के एसीआईआई के बीच अलग-अलग सूचकांक पर पुनरावृत्त किया जाता है, चरित्र 'ए' की एएससीआई को प्रत्येक चरित्र के एसीआईआई मान से घटाया जाता है और 1 से बढ़ाया जाता है। यह केवल उन मानों को भर देगा सरणी जो आम हैं। दोनों सरणियों से वर्णों की न्यूनतम संख्या की गणना की जाती है और कंसोल पर मुद्रित किया जाता है। मुख्य फ़ंक्शन में, दो स्ट्रिंग्स को परिभाषित किया जाता है और इन दो स्ट्रिंग्स को पैरामीटर के रूप में पास करके फ़ंक्शन को कॉल किया जाता है।