इस लेख में, हम समझेंगे कि कैसे जांचा जाए कि दो तार विपर्यय हैं या नहीं। विपर्यय एक शब्द या वाक्यांश है जो किसी भिन्न शब्द के अक्षरों को पुनर्व्यवस्थित करके बनता है। एक उपयोगकर्ता दो तारों में प्रवेश करता है। हमें यह गिनने की आवश्यकता है कि उनमें प्रत्येक अक्षर ('a' से 'z') कितनी बार प्रकट होता है और फिर, उनकी संगत गणनाओं की तुलना करें। एक स्ट्रिंग में वर्णमाला की आवृत्ति कितनी बार प्रकट होती है। यदि दो तारों में विशेष वर्णमाला की आवृत्ति की समान संख्या होती है, तो हम कह सकते हैं कि वे दो तार विपर्यय हैं।
नीचे उसी का एक प्रदर्शन है -
इनपुट
मान लीजिए हमारा इनपुट है -
Enter the first string : Race Enter the second string : Care
आउटपुट
वांछित आउटपुट होगा -
The strings race and care are anagram.
एल्गोरिदम
Step 1 - START Step 2 - Declare two string values namely my_string_1, my_string_2 Step 3 - Read the required values from the user/ define the values Step 4 - Convert both the strings to lower case letters using toLowerCase() function Step 5 - Check if the length of the two strings are same, if not, they are not anagram strings. Step 6 - Assign the strings to character arrays and sort them. Step 7 - Use the function ‘equals()’ to check if they are equal. If yes, they are anagram strings, else they are not anagram strings. Step 8 - Display the result Step 9 - Stop
उदाहरण 1
यहां, उपयोगकर्ता द्वारा एक प्रॉम्प्ट के आधार पर इनपुट दर्ज किया जा रहा है। आप इस उदाहरण को हमारे कोडिंग ग्राउंड टूल में लाइव देख सकते हैं ।
import java.util.Scanner; import java.util.Arrays; public class Main { public static void main(String[] args) { System.out.println("Required packages have been imported"); String my_string_1, my_string_2; Scanner my_scanner = new Scanner(System.in); System.out.println("A reader object has been defined "); System.out.print("Enter the first string : "); my_string_1 = my_scanner.nextLine(); System.out.print("Enter the second string : "); my_string_2 = my_scanner.nextLine(); my_string_1 = my_string_1.toLowerCase(); my_string_2 = my_string_2.toLowerCase(); if(my_string_1.length() == my_string_2.length()) { char[] my_array_1 = my_string_1.toCharArray(); char[] my_array_2 = my_string_2.toCharArray(); Arrays.sort(my_array_1); Arrays.sort(my_array_2); boolean my_result = Arrays.equals(my_array_1, my_array_2); if(my_result) { System.out.println("The strings "+my_string_1 + " and " + my_string_2 + " are anagram."); } else { System.out.println("The strings "+my_string_1 + " and " + my_string_2 + " are not anagram."); } } else { System.out.println("The strings "+my_string_1 + " and " + my_string_2 + " are not anagram."); } } }
आउटपुट
Required packages have been imported A reader object has been defined Enter the first string : Race Enter the second string : Care The strings race and care are anagram.
उदाहरण 2
यहां, पूर्णांक को पहले परिभाषित किया गया है, और इसके मान को एक्सेस किया जाता है और कंसोल पर प्रदर्शित किया जाता है।
import java.util.Arrays; public class Main { public static void main(String[] args) { System.out.println("Required packages have been imported"); String my_string_1, my_string_2; my_string_1 = "Race"; my_string_2 = "Care"; System.out.println("The two strings are defined as " +my_string_1 +" and " + my_string_2); my_string_1 = my_string_1.toLowerCase(); my_string_2 = my_string_2.toLowerCase(); if(my_string_1.length() == my_string_2.length()) { char[] my_array_1 = my_string_1.toCharArray(); char[] my_array_2 = my_string_2.toCharArray(); Arrays.sort(my_array_1); Arrays.sort(my_array_2); boolean my_result = Arrays.equals(my_array_1, my_array_2); if(my_result) { System.out.println("The strings "+my_string_1 + " and " + my_string_2 + " are anagram."); } else { System.out.println("The strings "+my_string_1 + " and " + my_string_2 + " are not anagram."); } } else { System.out.println("The strings "+my_string_1 + " and " + my_string_2 + " are not anagram."); } } }
आउटपुट
Required packages have been imported The two strings are defined as Race and Care The strings race and care are anagram.