java - Split function issue? -
रिलेप्लेयर यूजर 1
कोड कंसोल पर उपरोक्त इनपुट के साथ ठीक काम करता है यह मेरे लिए खिलाड़ी 'user1' सफलतापूर्वक निकालता है हालांकि, यदि प्रयोक्ता कोई उपयोगकर्ता नाम का उल्लेख नहीं करता है, तो यह ऐरे-सूची में उपस्थित सभी खिलाड़ियों को हटा देने का संकेत देता है।
रिलेप्लेयर (प्रविष्ट द्वारा दर्ज किया गया), कोड के नीचे विफल रहता है क्योंकि str [1] यहाँ पर कुछ भी नहीं है लेकिन मैं चाहता हूं कि स्ट्र [1] जैसे कि यह मान रिक्त है, यह मुझे सभी खिलाड़ियों को निकालने में मदद करता है।
param = "0"; System.out.print ( "& gt;"); // type_op = in.next (); स्ट्रिंग str = in.nextLine (); स्ट्रिंग [] str1 = str.split (""); Type_op = str1 [0]; Param = str1 [1]; स्ट्रिंग [] param_split = param.split (","); if (type_op.equals ("removeplayer") & amp; amp; amp; param.Sequals (नल)) removeAllPlayers (); else if (type_op.equals ("removeplayer")) removeplayer ();
मैंने अगले () के साथ ही प्रयोग करने की कोशिश की है, लेकिन उस स्थिति में समस्या अधिक जटिल हो जाती है, क्योंकि उस मामले में केवल हटाए गए सभी कार्य () काम करता है
एक सरल समाधान तुरंत पता होना चाहिए कि क्या कोई उपयोगकर्ता निर्दिष्ट नहीं है , सरणी लंबाई की जांच करके:
param = "0"; System.out.print ( "& gt;"); // type_op = in.next (); स्ट्रिंग str = in.nextLine (); स्ट्रिंग [] str1 = str.split (""); Type_op = str1 [0]; if (type_op.equals ("removeplayer") & amp; amp; str1.length == 1) {removeAllPlayers (); } और अगर (type_op.equals ("removeplayer")) {param = str1 [1]; स्ट्रिंग [] param_split = param.split (","); removeplayer (); }
यह सिर्फ एक सरल और त्वरित समाधान है, लेकिन इसे कार्य करना चाहिए। मुझे आशा है कि यह आपकी सहायता करेगा।
Comments
Post a Comment