Sunday, 15 May 2011

java - Scanner.nextLine input can't match String -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 23 उत्तर

मुझे परेशानी हो रही है Scanner.nextline (), जब तक मैं इसी स्ट्रिंग के साथ इनपुट की तुलना करने की कोशिश नहीं करता, यह ठीक और बांका काम करता है। मैं मूल रूप से यह देखना चाहता हूं कि क्या कुछ इनपुट एक सरणी (टीम) में कुछ तत्व के बराबर है। यहाँ मेरा कोड और आउटपुट है:

<पूर्व> पैकेज टीम; आयात करें java.util.Arrays; आयात java.util.Scanner; वर्ग टीमटाबल 2 {स्टैटिक स्ट्रिंग [टीम] = नई स्ट्रिंग [] {"टीम ए", "टीम बी", "टीम सी", "टीम डी", "टीम ई"}; // inArray सही देता है यदि एक निर्दिष्ट स्ट्रिंग "इन" में एक निर्दिष्ट सरणी स्थिर बूलीयन inArray (स्ट्रिंग चीज, स्ट्रिंग [] सरणी) {बूलियन = false में है; के लिए (int i = 0; i & lt; सरणी.लांबी; i + = 1) {if (array [i] == वस्तु) {in = true; }} में वापसी; } स्थिर शून्य इनपुट इनअरे () {स्कैनर userInput = नया स्कैनर (System.in); स्ट्रिंग इनपुटटैम = नल; // जब लूप जारी रहता है तो इनपुट किसी भी तत्व से मेल नहीं खाता है जबकि (! InArray (inputTeam, टीम)) {System.out.println ("टीम:"); InputTeam = userInput.nextLine (); Println ( ""); यदि (! InArray (inputTeam, टीमें)) {System.out.println ("सरणी में नहीं:" + inputTeam + ", लंबाई:" + inputTeam.length ()); }} UserInput.close (); } सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग अरिज []) {System.out.println ("टीमों में टीम ए": "+ एअरे (" टीम ए ", टीमें)); inputInArray (); टीम में ए टीम: टीम ए / मेरा इनपुट नहीं सरणी: टीम ए, लंबाई: 6 टीम:

तो जाहिर है कि आउटपुट में सही लंबाई है और जब मैं इनएरे विधि में शुद्ध स्ट्रिंग "टीम ए" का उपयोग करता हूं, तो यह सही होता है, इसलिए मुझे समझ नहीं आता कि इनपुट क्यों सरणी में होने के रूप में व्याख्या नहीं है?

यह गलत है if (array [i] == thing) { , स्ट्रिंग्स के लिए बराबर का उपयोग करें: if (array [i] .equals (thing)) {। पांडा आप वास्तव में अंतर सीखना चाहिए:)


No comments:

Post a Comment