Sunday 15 September 2013

java - IDE gives no errors, but ArrayList fails to work -


मुझे अपने मुख्य वर्ग में रूनेक्राफ्ट पैकेज में com.mcvigor :

सार्वजनिक स्थिर ArrayList & lt; स्ट्रिंग & gt; ProspPlayers = नया ArrayList & lt; स्ट्रिंग & gt; ();

मुझे माइनिंग लिस्टनर पैकेज com.mcvigor.listeners नामक एक अन्य वर्ग में है :

  `सार्वजनिक शून्य खिलाड़ीरक्लिकऑन (प्लेयरइंटरएक्टइवेंट इवेंट) {// अयस्क इंटरैक्शन्स अंतिम खिलाड़ी p = event.getPlayer (); If (event.getPlayer ()। IsOp ()) वापसी; अगर (रु्यून क्राफ्ट.प्रोस्पेल्सकॉन्टेनस (पी.जेनेटएन ())) वापसी; यदि (isClickedBlockMineral (घटना) & amp; amp; event.getAction () == एक्शन। एलईएफटीसीएलईकब्लॉक एंड amp; हैपिक्केक्स (पी)) [// ब्लॉक खनिज है, खिलाड़ी ने उसे क्लिक किया, कोई पिककॉक्सा p.SendMessage (ChatColor DARK_RED + "आपको यह खाने के लिए एक प्याक की आवश्यकता है।"); // पिक्से के लिए चेक जोड़ें 2 स्तर की आवश्यकता होती है यदि (isClickedBlockMineral (ईवेंट) & amp; amp; Event.getAction () == कार्रवाई। RIGHT_CLICK_BLOCK) {स्विच (event.getClickedBlock ()। GetType ()) {मामला क्ली: / / मिट्टी RuneCraft.prospPlayers.add (p.getName ()); P.sendMessage (ChatColor.DARK_RED + "आप अयस्कों के लिए रॉक का परीक्षण करते हैं ..."); बुक्किट.गेटशेब्यूलर ()। रनटास्कलेटर (प्लगइन, नया रननाबल () {सार्वजनिक शून्य रन () {p.sendMessage (ChatColor.GRAY + "यह रॉक शामिल है" + चैट कोलोलर। DARK_RED + "मिट्टी" + चैट कोलोलर। जीआरए + "।" );}}, 3 * 20 एल); // TODO: समय बदलें RuneCraft.prospPlayers.remove (p.getName ()); तोड़; `  

उसमें अन्य सामान हैं, लेकिन यह महत्वपूर्ण नहीं है समस्या यह है कि जब मैं अयस्कों के लिए चट्टानों की संभावना या जांच करता हूं, तो यह मुझे सूची में जोड़ना चाहती है और अगर मैं इसे फिर से करने की कोशिश करता हूं, तब तक मुझे ऐसा नहीं करना चाहिए जब तक कि मैं पूर्वेक्षण पूरा नहीं कर पाता (जहां यह मेरा नाम ArrayList से निकाल देता है) ।

यह क्यों हो रहा है?

क्या अगर (RuneCraft.prospPlayers.contains (p.getName ())) वापसी; समस्या?

इस कोड को देखें:

  रूणक्रफ़्ट.प्रोस्पेल्स.एड (पी। getName ()); P.sendMessage (ChatColor.DARK_RED + "आप अयस्कों के लिए रॉक का परीक्षण करते हैं ..."); बुक्किट.गेटशेब्यूलर ()। रनटास्कलेटर (प्लगइन, नया रननाबल () {सार्वजनिक शून्य रन () {p.sendMessage (ChatColor.GRAY + "यह रॉक शामिल है" + चैट कोलोलर। DARK_RED + "मिट्टी" + चैट कोलोलर। जीआरए + "।" );}}, 3 * 20 एल); // TODO: समय बदलें RuneCraft.prospPlayers.remove (p.getName ());   

आप इसे फिर से नाम से हटा रहे हैं तुरंत और आपने कहा है कि आपने इसे जांचना शुरू कर दिया है। आप केवल इसे बाद निकालना चाहते हैं, आप इसे जांचना चाहते हैं, है ना? तो आपको "बाद में कार्य" निष्पादित होने पर हटाएं कॉल को स्थानांतरित करने की आवश्यकता है:

  रु्यूनक्रफ़्ट.प्रोस्पेल्स.एड (पी.जेटेम ()); P.sendMessage (ChatColor.DARK_RED + "आप अयस्कों के लिए रॉक का परीक्षण करते हैं ..."); बुक्किट.गेटशेब्यूलर ()। रनटास्कलेटर (प्लगइन, नया रननाबल () {सार्वजनिक शून्य रन () {p.sendMessage (ChatColor.GRAY + "यह रॉक शामिल है" + चैट कोलोलर। DARK_RED + "मिट्टी" + चैट कोलोलर। जीआरए + "।" ); रु्यून क्राफ्ट.प्रोस्पेल्स। रिवॉव (पी। जेनेट ());}}, 3 * 20 एल); // TODO: समय बदलें   

बेशक मैं इसके लिए एक स्थिर वैरिएबल का उपयोग करने से बचने का प्रयास करता हूं, लेकिन यह एक अलग मामला है।

No comments:

Post a Comment