अरे दोस्तों मैं स्ट्रिंग द्वारा स्ट्रिंग के साथ कुछ तुलना करना चाहता हूं लेकिन मुझे नहीं पता कि कैसे।

जैसे यदि उपयोगकर्ता इनपुट की स्ट्रिंग सरणी के समान है तो यह कुछ करेगी या नहीं, यह एक सरणी नहीं कहेगी।

क्या किसी के पास स्ट्रिंग की तुलना करने के लिए कोई सुझाव है? लेकिन क्या स्ट्रिंग की तुलना करना संभव है? नीचे दिए गए कोड की तरह

Scanner input = new Scanner(System.in);
String Array[] = {"Henry", "Alex"};

System.out.print("Enter a name: ");
String ans = input.nextLine();
 
if (ans > array){
  System.out.println("Name is available");
} else {
  System.out.println("Name is not available"
}
0
NISHA NAJIHAH 29 अक्टूबर 2020, 07:53

4 जवाब

सबसे बढ़िया उत्तर

यह देखने के लिए कि क्या एक स्ट्रिंग एक ऐरे में है, कोशिश करें

    Scanner input = new Scanner(System.in);
    List<String> list = Arrays.asList("Henry", "Alex");

    System.out.print("Enter a name: ");
    String ans = input.nextLine();
     
    if (list.contains(ans)){
      System.out.println("Name is in list");
    } else {
      System.out.println("Name is not in list");
    }
3
Blake 29 अक्टूबर 2020, 08:07

W3schools से कुछ जानकारी :

बराबर () विधि दो स्ट्रिंग्स की तुलना करती है, और यदि स्ट्रिंग्स समान हैं, तो सही है और यदि नहीं तो गलत है।

युक्ति: लेक्सिकोग्राफिक रूप से दो स्ट्रिंग्स की तुलना करने के लिए तुलना () विधि का उपयोग करें।

कोड का एक नमूना स्निपेट:

String myStr1 = "Hello";
String myStr2 = "Hello";
System.out.println(myStr1.compareTo(myStr2));

यदि वे बराबर हैं तो यह 0 देता है। यदि नहीं, तो यह कुछ मान देता है, यदि आप एक चर के लिए लौटाए गए मान को पास करके एक और चला सकते हैं यदि यह 0 के बराबर है तो प्रिंट बराबर है और बराबर नहीं है

आशा है कि मैंने उत्तर दिया है

यदि आप खोजना और खोजना चाहते हैं कि कोई स्ट्रिंग किसी सरणी में है या नहीं, तो कृपया बेहतर जानकारी के लिए इस लिंक को देखें https://www.geeksforgeeks.org/check-if-a-value-is-present-in-an-array-in-java/< /ए>

-2
Chattr Box 29 अक्टूबर 2020, 08:04

सूची में मूल्य का पता लगाने का एक तरीका नहीं है। सबसे पहले आपको अपने ऐरे को लिस्ट में बदलना होगा। और एक विधि है:

1. 'शामिल' विधि का प्रयोग करें

सूची में contains() नामक विधि है जो बूलियन मान लौटाती है। सत्य - यदि मान/वस्तु सूची में है, तो असत्य - यदि मान सूची में नहीं है।
उदाहरण:

String[] array = {"apple", "orange"};
List<String> list = Arrays.asList(array);
String value = "apple";

if (list.contains(value)) {
    System.out.println("Value is in the list");
} else {
    System.out.println("Value is not in the list");
}

यह पता लगाने का सबसे आसान तरीका है कि सरणी में मूल्य/वस्तु है। इसके अलावा .contains() का उपयोग करने के बजाय आप .indexOf() विधि का उपयोग कर सकते हैं जो -1 देता है यदि मान सरणी में मौजूद नहीं है। यह अन्य प्रोग्रामिंग भाषाओं में भी उपयोग किया जाने वाला सबसे पुराना तरीका है: if (list.indexOf(value) != -1)
इन विधियों के साथ समस्या तब हो सकती है जब मूल्य दर्ज किया गया हो और सरणी में मानों के अलग-अलग चार मामले (ऊपरी/निचले) हों। इसे हल करने के लिए आपको सरणी को पुनरावृत्त करना चाहिए और उसी चार केस का उपयोग करना चाहिए।


2. इटरेटिंग सरणी

उदाहरण:

String[] array = {"Apple", "Orange"};
String value = "apple";

boolean isInArray = false;
for (String item : array) {
    isInArray = item.toLowerCase().equals(value.toLowerCase());
    if (isInArray) {
        System.out.println("Value is in the list");
        break; // exiting array iteration when value was found
    }
}
if (!isInArray) { // if all array was iterated and no matching value was found
    System.out.println("Value is not in the list");
}

3. संग्रह धाराओं का प्रयोग करें

उदाहरण:

String[] array = {"apple", "orange"};
List<String> list = Arrays.asList(array);
String value = "apple";

boolean isInArray = list.stream().anyMatch(item -> item.toLowerCase().equals(value.toLowerCase()));
if (isInArray) {
    System.out.println("Value is in the list");
} else {
    System.out.println("Value is not in the list");
}
1
Dumbo 29 अक्टूबर 2020, 10:20

आप सरणी को पुनरावृत्त कर सकते हैं और प्रत्येक तत्व के साथ स्ट्रिंग की तुलना कर सकते हैं। एक बार एक मैच मिल जाने के बाद, आपको Found संदेश प्रिंट करना चाहिए और लूप को तोड़ना चाहिए। यदि पूरे लूप में कोई मेल नहीं मिलता है, तो लूप के बाद Not found संदेश प्रिंट करें।

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String array[] = { "Henry", "Alex" };

        System.out.print("Enter a name: ");
        String ans = input.nextLine();

        boolean found = false;
        for (String s : array) {
            if (s.equals(ans)) {
                System.out.println("Name is available");
                found = true;
                break;
            }
        }

        if (!found) {
            System.out.println("The name does not exist in the array");
        }
    }
}

एक नमूना रन:

Enter a name: Alex
Name is available

एक और नमूना रन:

Enter a name: Nisha
The name does not exist in the array

ध्यान दें कि मैंने एक boolean चर, found का उपयोग यह ट्रैक करने के लिए किया है कि क्या ans सरणी में मौजूद है। इस तरह के एक अतिरिक्त चर का उपयोग किए बिना भी इसे करने का एक तरीका है:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String array[] = { "Henry", "Alex" };

        System.out.print("Enter a name: ");
        String ans = input.nextLine();
        int i;

        for (i = 0; i < array.length; i++) {
            if (array[i].equals(ans)) {
                System.out.println("Name is available");
                break;
            }
        }

        // If the loop has been completed without `break`, it means `name` does not
        // exist
        if (i == array.length) {
            System.out.println("The name does not exist in the array");
        }
    }
}

एक नमूना रन:

Enter a name: Alex
Name is available

एक और नमूना रन:

Enter a name: Nisha
The name does not exist in the array
1
Arvind Kumar Avinash 29 अक्टूबर 2020, 08:09