Thursday 15 September 2011

java - Scanner Class ~ hasNextDouble(); -


  पैकेज pkgswitch; आयात java.util.Scanner; सार्वजनिक वर्ग स्विच {सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] आर्ग्स) {डबल उप-योग = 0.0; स्कैनर sc = नया स्कैनर (System.in); बाहरी लिओप: जबकि (0 == 0) {System.out.print ("उप-योग प्रविष्ट करें:"); यदि (sc.hasNextDouble ()) {subtotal = sc.nextDouble (); } Else {sc.nextLine (); Println ( "त्रुटि!"); बाहरी लूप जारी रखें; }}}}   

मैं अपवादों को पकड़ने के तरीके सीखने के साथ काम कर रहा हूं। (मुझे try / try )

के बारे में पता है प्रश्न:

स्कैनर में केवल दो बार टोकन कैसे होते हैं कोई इनपुट के साथ आरम्भ किया गया

जब स्कैनर को अभी शुरू किया गया है तो उसे कैसे दोहरी टोकन है कोई इनपुट नहीं है?

आपका कोड स्कैनर को "कोई इनपुट नहीं" के साथ प्रारंभ नहीं करता है यह System.in के साथ आरंभ करता है।

वास्तव में क्या होता है कि यह sc.hasNextDouble () इनपुट स्ट्रीम से वर्णों को पढ़ने और बफर करने का प्रयास करता है। .. अवरुद्ध अगर उपयोगकर्ता ने उन्हें अभी तक टाइप नहीं किया है जब पद्धति में यह निर्धारित करने के लिए पर्याप्त वर्ण हैं कि इसमें एक वैध डबल टोकन है, तो वह true ... या false देता है।


वैसे:

  जबकि (0 == 0) {  

मूर्खतापूर्ण है कृपया ऐसा मत करो

  1. यह पता लगाना है कि कोड वास्तव में क्या कर रहा है, और
  2. यह सोच कर कि लेखक क्या करता है मूल जावा समझ में नहीं आ रहा है, या कोडिंग के दौरान अवैध पदार्थों का इस्तेमाल कर रहा है ...: -)

No comments:

Post a Comment