जावा में किसी उपयोगकर्ता से इनपुट कैसे प्राप्त करें (चित्रों के साथ)

विषयसूची:

जावा में किसी उपयोगकर्ता से इनपुट कैसे प्राप्त करें (चित्रों के साथ)
जावा में किसी उपयोगकर्ता से इनपुट कैसे प्राप्त करें (चित्रों के साथ)

वीडियो: जावा में किसी उपयोगकर्ता से इनपुट कैसे प्राप्त करें (चित्रों के साथ)

वीडियो: जावा में किसी उपयोगकर्ता से इनपुट कैसे प्राप्त करें (चित्रों के साथ)
वीडियो: How to Beat Prion - Brutal Mode in 2020 | Plague Inc. Prion Walkthrough (No Commentary) 2024, मई
Anonim

जावा या किसी अन्य भाषा में प्रोग्रामिंग करते समय, आपको उपयोगकर्ता से इनपुट जानकारी का उपयोग करने की सबसे अधिक संभावना होगी। जावा उपयोगकर्ता जानकारी प्राप्त करने के लिए कई अलग-अलग तरीके प्रदान करता है, लेकिन स्कैनर ऑब्जेक्ट का उपयोग करने के लिए सबसे आम और शायद सबसे आसान तरीका लागू करना है।

कदम

विधि 2 में से 1 वीडियो

1514756 1
1514756 1

चरण 1. स्कैनर वर्ग आयात करें।

आप या तो आयात करना चुन सकते हैं

java.util.स्कैनर

कक्षा या संपूर्ण

java.util

पैकेज। किसी वर्ग या पैकेज को आयात करने के लिए, अपने कोड की शुरुआत में निम्न में से कोई एक पंक्ति जोड़ें:

    आयात java.util. Scanner; // यह सिर्फ स्कैनर वर्ग को आयात करेगा। आयात java.util.*; // यह संपूर्ण java.util पैकेज आयात करेगा।

1514756 2
1514756 2

चरण 2. पास करके एक नया स्कैनर ऑब्जेक्ट प्रारंभ करें

System.in

कंस्ट्रक्टर को इनपुट स्ट्रीम।

System.in

मानक इनपुट स्ट्रीम है जो पहले से ही खुला है और इनपुट डेटा की आपूर्ति के लिए तैयार है। आमतौर पर यह स्ट्रीम कीबोर्ड इनपुट से मेल खाती है।

    स्कैनर उपयोगकर्ता इनपुट स्कैनर = नया स्कैनर (System.in);

1514756 3
1514756 3

चरण 3. उपयोगकर्ता द्वारा दर्ज किए जाने वाले विभिन्न प्रकार के इनपुट डेटा में पढ़ें।

स्कैनर वर्ग स्ट्रिंग प्राप्त करने के अलावा इंट, बाइट, शॉर्ट, लॉन्ग जैसे प्राइमेटिव प्राप्त करने का समर्थन करता है।

  • यहां कुछ तरीके दिए गए हैं जो स्कैनर वर्ग के माध्यम से उपलब्ध हैं:

    • एक बाइट पढ़ें -

      नेक्स्टबाइट ()

    • एक संक्षिप्त पढ़ें -

      नेक्स्टशॉर्ट ()

    • एक इंट पढ़ें -

      नेक्स्टइंट ()

    • साथ पढ़ो -

      नेक्स्टलॉन्ग ()

    • एक फ्लोट पढ़ें -

      अगला फ्लोट ()

    • एक डबल पढ़ें -

      अगला डबल ()

    • एक बुलियन पढ़ें -

      अगला बूलियन ()

    • पूरी लाइन पढ़ें-

      अगली पंक्ति ()

    • एक शब्द पढ़ें -

      अगला()

  • यहां एक प्रोग्राम का उदाहरण दिया गया है जो विभिन्न प्रकार के इनपुट प्राप्त करने के लिए स्कैनर वर्ग के विभिन्न तरीकों का उपयोग करता है:

      आयात java.util. Scanner; सार्वजनिक वर्ग स्कैनर उदाहरण {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग तर्क) {// एक नया स्कैनर स्कैनर शुरू करें उपयोगकर्ता इनपुट स्कैनर = नया स्कैनर (System.in); // परीक्षण नेक्स्टलाइन (); System.out.println ("\ n आपका नाम क्या है?"); स्ट्रिंग नाम = userInputScanner.nextLine (); // परीक्षण नेक्स्टइंट (); System.out.print ("आपके पास कितनी बिल्लियाँ हैं?"); int numberOfCats = userInputScanner.nextInt (); // परीक्षण नेक्स्टडबल (); System.out.print ("आपके बटुए में कितना पैसा है? $"); डबल मनीइनवॉलेट = userInputScanner.nextDouble (); System.out.println("\nHello" + name + "! आपके वॉलेट में "+ numberOfCats + (numberOfCats> 1 ? "cats": "cat") + "और $" + moneyInWallet + " है।\n"); } }

विधि २ का २: अपवादों को संभालना

1514756 4
1514756 4

चरण 1. इनपुट अपवादों को संभालें।

एक

इनपुट बेमेल अपवाद

जब उपयोगकर्ता डेटा दर्ज करता है जो अनुरोधित प्रकार से मेल नहीं खाता है तो फेंक दिया जाता है। उदाहरण के लिए, यदि उपयोगकर्ता एक स्ट्रिंग में प्रवेश करता है जब एक इंट के लिए कहा जाता है, तो प्रोग्राम एक फेंक देगा

इनपुट बेमेल अपवाद

और बाहर निकलें। इस अपवाद को संभालने और इस समस्या को हल करने के कई तरीके हैं ताकि आपका प्रोग्राम फुलप्रूफ हो सके।

1514756 5
1514756 5

चरण २। को संभालने के लिए ट्राइ-कैच ब्लॉक का उपयोग करें

इनपुट बेमेल अपवाद

.

    आयात java.util. InputMismatchException; आयात java.util. Scanner; सार्वजनिक वर्ग स्कैनर उदाहरण {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग तर्क) {// एक नया स्कैनर स्कैनर शुरू करें उपयोगकर्ता इनपुट स्कैनर = नया स्कैनर (System.in); // परीक्षण नेक्स्टलाइन (); System.out.print ("\ n आपका नाम क्या है?"); स्ट्रिंग नाम = userInputScanner.nextLine (); // परीक्षण नेक्स्टइंट (); बूलियन वैध इनपुट = झूठा; इंट नंबरऑफकैट्स = 0; जबकि (!validInput) { System.out.print ("आपके पास कितनी बिल्लियाँ हैं?"); कोशिश करें {numberOfCats = userInputScanner.nextInt (); वैध इनपुट = सच; } पकड़ें (इनपुट मिस्मैच एक्सेप्शन ई) {ValidInput = false; userInputScanner.nextLine (); } } // अगला डबल परीक्षण (); वैध इनपुट = झूठा; डबल मनीइनवॉलेट = 0.0; जबकि (!validInput) { System.out.print("आपके बटुए में कितना पैसा है? $"); कोशिश करें { moneyInWallet = userInputScanner.nextDouble (); userInputScanner.nextLine (); वैध इनपुट = सच; } पकड़ें (इनपुट मिस्मैच एक्सेप्शन ई) {ValidInput = false; userInputScanner.nextLine (); } } System.out.println("\nHello" + name + "! आपके पास "+ numberOfCats + (numberOfCats> 1 ? "cats": "cat") + "और $" + moneyInWallet + " आपके वॉलेट में है।\ एन"); } }

  • ध्यान दें कि हमें आयात करना होगा

    java.util. InputMismatchException

    का उपयोग करने के लिए

    इनपुट बेमेल अपवाद

  • कक्षा।
  • जब तक उपयोगकर्ता सही इनपुट दर्ज नहीं करता तब तक हम उपयोगकर्ता से वही प्रश्न पूछने के लिए थोड़ी देर के लूप का उपयोग कर रहे हैं।
  • जोड़ा जा रहा है

    userInputScanner.nextLine ();

  • ट्राइ-कैच के कैच भाग में यह सुनिश्चित करता है कि स्कैनर उपयोगकर्ता से "एंटर" कुंजी प्रेस को स्वीकार करता है और इनपुट बफर को साफ़ करने के तरीके के रूप में कार्य करता है।
1514756 6
1514756 6

चरण 3. वैकल्पिक रूप से, स्कैनर से केवल अगली पंक्तियों को लेकर उपयोगकर्ता इनपुट को फुलप्रूफ बनाएं।

इस तरह, हम यह सुनिश्चित कर सकते हैं कि स्कैनर जो कुछ भी लौटाता है वह एक स्ट्रिंग ऑब्जेक्ट है और कोई अपवाद नहीं बनाएगा। फिर, स्ट्रिंग्स को पूर्णांक या डबल्स में बदलने के लिए, हम इंटीजर और डबल रैपर क्लासेस का उपयोग कर सकते हैं।

    आयात java.util. Scanner; सार्वजनिक वर्ग स्कैनर उदाहरण {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग तर्क) {// एक नया स्कैनर स्कैनर शुरू करें उपयोगकर्ता इनपुट स्कैनर = नया स्कैनर (System.in); // परीक्षण नेक्स्टलाइन (); System.out.print ("\ n आपका नाम क्या है?"); स्ट्रिंग नाम = userInputScanner.nextLine (); // परीक्षण नेक्स्टइंट (); बूलियन वैध इनपुट = झूठा; इंट नंबरऑफकैट्स = 0; जबकि (!validInput) { System.out.print ("आपके पास कितनी बिल्लियाँ हैं?"); स्ट्रिंग इनपुट = userInputScanner.nextLine (); कोशिश करें {numberOfCats = Integer.parseInt (इनपुट); वैध इनपुट = सच; } पकड़ें (नंबरफॉर्मेट एक्सेप्शन ई) {ValidInput = false; } } // अगले डबल () का परीक्षण; वैध इनपुट = झूठा; डबल मनीइनवॉलेट = 0.0; जबकि (!validInput) { System.out.print ("आपके बटुए में कितना पैसा है? $"); स्ट्रिंग इनपुट = userInputScanner.nextLine (); कोशिश करें { moneyInWallet = Double.parseDouble (इनपुट); वैध इनपुट = सत्य; } पकड़ें (नंबरफॉर्मैट अपवाद ई) {ValidInput = false; } } System.out.println("\nHello" + name + "! आपके पास "+ numberOfCats + (numberOfCats> 1 ? "cats": "cat") + "और $" + moneyInWallet + " आपके वॉलेट में है।\ एन"); } }

  • ध्यान दें कि यहां हमें आयात नहीं करना था

    नंबरफॉर्मेटअपवाद

  • वर्ग क्योंकि यह java.lang पैकेज का हिस्सा है, जिसका अर्थ है कि यह अंतर्निहित है।
  • हमें बफर का उपयोग करके भी साफ़ नहीं करना पड़ा

    userInputScanner.nextLine ();

  • ट्राइ-कैच के कैच पार्ट में।

टिप्स

  • स्कैनर वर्ग का उपयोग करने के बारे में अधिक जानकारी के लिए स्कैनर एपीआई देखें।
  • अगला शब्द पढ़ने के लिए हमेशा.nextLine() के बजाय.next() का उपयोग करें, क्योंकि.nextLine() छोटी गाड़ी हो सकती है।

सिफारिश की: