Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

जावा प्रोग्राम: दो स्ट्रिंग्स एनाग्राम हैं या नहीं चेक करना


इस लेख में हम समझेंगे कि दो स्ट्रिंग्स एनाग्राम हैं या नहीं, यह कैसे चेक किया जाता है। एनाग्राम वह शब्द या वाक्यांश होता है जो किसी अन्य शब्द के अक्षरों को पुनर्व्यवस्थित करके बनाया जाता है।

दोनों स्ट्रिंग्स में प्रत्येक अक्षर ('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 एनाग्राम हैं।
  1. - पायथन में जांचें कि दो संख्याओं के बाइनरी प्रतिनिधित्व एनाग्राम हैं या नहीं

    मान लीजिए हमारे पास दो संख्याएं x और y हैं, हमें जांचना है कि x और y के बाइनरी प्रतिनिधित्व एक-दूसरे के एनाग्राम हैं या नहीं। उदाहरण के लिए, यदि x = 9, y = 12 है, तो आउटपुट True होगा क्योंकि 9 का बाइनरी 1001 है और 12 का बाइनरी 1100 है, ये दोनों एक-दूसरे के एनाग्राम हैं (दोनों में दो 1 और दो 0 हैं)।

  1. - पायथन में दो स्ट्रिंग्स के 0 या 1 एडिट डिस्टेंस पर होने की जांच करने का प्रोग्राम

    मान लीजिए हमारे पास दो स्ट्रिंग्स S और T हैं हमें जांचना है कि क्या वे एक या शून्य एडिट डिस्टेंस पर हैं या नहीं। एक एडिट ऑपरेशन को एक वर्ण हटाना, एक वर्ण जोड़ना, या एक वर्ण को दूसरे वर्ण से बदलना परिभाषित किया जा सकता है।इसलिए, यदि इनपुट S = hello, T = hallo जैसा है, तो आउटपुट True होगा, क्योंकि इन

  1. - दो संख्याओं के बाइनरी प्रतिनिधित्व एनाग्राम हैं या नहीं जांचने का पायथन प्रोग्राम

    समस्या विवरण दो संख्याएं दी गई हैं। हमारा कार्य यह जांचना है कि क्या वे बाइनरी प्रतिनिधित्व में एक-दूसरे के एनाग्राम हैं या नहीं। हम इस समस्या को पायथन में Counter(iterable) विधि और डिक्शनरी तुलना का उपयोग करके जल्दी हल कर सकते हैं। उदाहरण इनपुट: a = 8, b = 16 आउटपुट: हां दोनों संख्याओं के बाइनरी प