इस लेख में हम समझेंगे कि दो स्ट्रिंग्स एनाग्राम हैं या नहीं, यह कैसे चेक किया जाता है। एनाग्राम वह शब्द या वाक्यांश होता है जो किसी अन्य शब्द के अक्षरों को पुनर्व्यवस्थित करके बनाया जाता है।
दोनों स्ट्रिंग्स में प्रत्येक अक्षर ('a' से 'z') की फ्रीक्वेंसी गिनी जाती है और फिर उनकी तुलना की जाती है। यदि दोनों स्ट्रिंग्स में प्रत्येक अल्फाबेट की फ्रीक्वेंसी समान है, तो वे एनाग्राम हैं।
डेमोनस्ट्रेशन
इनपुट:
पहली स्ट्रिंग दर्ज करें: Race दूसरी स्ट्रिंग दर्ज करें: Care
आउटपुट:
स्ट्रिंग्स race और care एनाग्राम हैं।
एल्गोरिदम
चरण 1 - शुरू चरण 2 - दो स्ट्रिंग वेरिएबल घोषित करें: my_string_1, my_string_2 चरण 3 - उपयोगकर्ता से मान पढ़ें या परिभाषित करें चरण 4 - दोनों स्ट्रिंग्स को toLowerCase() का उपयोग करके लोअरकेस में बदलें चरण 5 - दोनों स्ट्रिंग्स की लंबाई चेक करें, यदि समान नहीं तो एनाग्राम नहीं चरण 6 - स्ट्रिंग्स को कैरेक्टर ऐरे में बदलें और सॉर्ट करें चरण 7 - equals() फंक्शन का उपयोग करके चेक करें कि वे समान हैं या नहीं चरण 8 - परिणाम प्रदर्शित करें चरण 9 - रुकें
उदाहरण 1: यूजर इनपुट के साथ
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
System.out.println("आवश्यक पैकेज इम्पोर्ट हो चुके हैं");
String my_string_1, my_string_2;
Scanner my_scanner = new Scanner(System.in);
System.out.println("रीडर ऑब्जेक्ट परिभाषित किया गया है");
System.out.print("पहली स्ट्रिंग दर्ज करें: ");
my_string_1 = my_scanner.nextLine();
System.out.print("दूसरी स्ट्रिंग दर्ज करें: ");
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("स्ट्रिंग्स " + my_string_1 + " और " + my_string_2 + " एनाग्राम हैं।");
} else {
System.out.println("स्ट्रिंग्स " + my_string_1 + " और " + my_string_2 + " एनाग्राम नहीं हैं।");
}
} else {
System.out.println("स्ट्रिंग्स " + my_string_1 + " और " + my_string_2 + " एनाग्राम नहीं हैं।");
}
}
}
आउटपुट
आवश्यक पैकेज इम्पोर्ट हो चुके हैं रीडर ऑब्जेक्ट परिभाषित किया गया है पहली स्ट्रिंग दर्ज करें: Race दूसरी स्ट्रिंग दर्ज करें: Care स्ट्रिंग्स race और care एनाग्राम हैं।
उदाहरण 2: प्री-डिफाइंड वैल्यू के साथ
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
System.out.println("आवश्यक पैकेज इम्पोर्ट हो चुके हैं");
String my_string_1 = "Race";
String my_string_2 = "Care";
System.out.println("दोनों स्ट्रिंग्स परिभाषित हैं: " + my_string_1 + " और " + 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("स्ट्रिंग्स " + my_string_1 + " और " + my_string_2 + " एनाग्राम हैं।");
} else {
System.out.println("स्ट्रिंग्स " + my_string_1 + " और " + my_string_2 + " एनाग्राम नहीं हैं।");
}
} else {
System.out.println("स्ट्रिंग्स " + my_string_1 + " और " + my_string_2 + " एनाग्राम नहीं हैं।");
}
}
}
आउटपुट
आवश्यक पैकेज इम्पोर्ट हो चुके हैं दोनों स्ट्रिंग्स परिभाषित हैं: Race और Care स्ट्रिंग्स race और care एनाग्राम हैं।