Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

जावा में एक लाइन में उपयोगकर्ता से एकाधिक मान इनपुट कैसे लें?

उदाहरण

import java.util.Scanner; 

public class Demo { 
    public static void main(String[] args) { 
        System.out.print("दो फ्लोटिंग पॉइंट मान दर्ज करें: "); 
        Scanner myScan = new Scanner(System.in); 
        double doubleVal = myScan.nextDouble();  // nextFloat() के बजाय nextDouble()
        int intVal = myScan.nextInt(); 
        System.out.println("फ्लोटिंग पॉइंट मान है: " + doubleVal + " और पूर्णांक मान है: " + intVal); 
    } 
}

इनपुट

56.789 99

आउटपुट

दो फ्लोटिंग पॉइंट मान दर्ज करें: 
फ्लोटिंग पॉइंट मान है: 56.789 और पूर्णांक मान है: 99

व्याख्या: Demo क्लास में मुख्य फंक्शन होता है, जिसके अंदर Scanner क्लास का एक ऑब्जेक्ट बनाया जाता है, और दो मान, एक डबल और एक इंटीजर मान पार्स किए जाते हैं। मान मानक इनपुट से लिए जाते हैं और फिर कंसोल पर प्रदर्शित किए जाते हैं।

Scanner ऑब्जेक्ट इनपुट को सीधे पार्स करता है, बिना इसे कई स्ट्रिंग्स में विभाजित किए। इसके अलावा, उपयोगकर्ता डेटा को एक ही लाइन पर या कई लाइनों पर इनपुट कर सकता है।

Scanner के साथ एकाधिक इनपुट के तरीके:

1. स्पेस-सेपरेटेड (एक लाइन):

Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
double c = sc.nextDouble();
// इनपुट: 10 20 3.14

2. लाइन-बाय-लाइन:

String line = sc.nextLine();  // पूरी लाइन पढ़ता है
String[] parts = line.split("\\s+");
// फिर पार्स करें

3. अगल-अलग लाइन्स:

int a = sc.nextInt();  // पहली लाइन
int b = sc.nextInt();  // दूसरी लाइन

Scanner vs BufferedReader:

पहलूScannerBufferedReader
पार्सिंगबिल्ट-इन (nextInt, nextDouble)मैन्युअल (parseInt, parseDouble)
प्रदर्शनधीमा (रेगेक्स उपयोग करता है)तेज
उपयोग में आसानीसरलअधिक कोड
बफर आकार1024 चर8192 चर (डिफ़ॉल्ट)

सर्वोत्तम अभ्यास:

try (Scanner sc = new Scanner(System.in)) {
    // एक लाइन से कई मान
    if (sc.hasNextInt()) {
        int a = sc.nextInt();
        int b = sc.nextInt();
        // ...
    }
}
  1. Java में OpenCV का उपयोग करके रेखा कैसे बनाएं? Java में OpenCV का उपयोग करके रेखा कैसे बनाएं?

    Java OpenCV लाइब्रेरी का org.opencv.imgproc पैकेज Imgproc नामक एक क्लास प्रदान करता है। रेखा बनाने के लिए, आपको इस क्लास की line() मेथड को कॉल करना होगा। यह मेथड निम्नलिखित पैरामीटर्स स्वीकार करती है −एक Mat ऑब्जेक्ट जो उस इमेज को दर्शाता है जिस पर रेखा बनाई जानी है।दो Point ऑब्जेक्ट जो उन बिंदुओं क

  1. Java में JTextField से इनपुट मान पढ़कर JList में कैसे जोड़ें? Java में JTextField से इनपुट मान पढ़कर JList में कैसे जोड़ें?

    JList JComponent क्लास का एक सबक्लास है जो यूजर को या तो सिंगल सिलेक्शन या मल्टीपल सिलेक्शन चुनने की अनुमति देता है। JList क्लास स्वयं स्क्रॉलबार को सपोर्ट नहीं करती। स्क्रॉलबार जोड़ने के लिए, हमें JScrollPane क्लास का उपयोग JList क्लास के साथ करना होगा। JScrollPane तब स्वचालित रूप से स्क्रॉलबार को

  1. Java में JCheckBox से एक समय में एक आइटम कैसे चुनें? Java में JCheckBox से एक समय में एक आइटम कैसे चुनें?

    JCheckBox एक JCheckBox JToggleButton को विस्तारित कर सकता है और यह एक छोटा बॉक्स हो सकता है जो या तो चेक किया गया या अनचेक किया गया होता है। जब हम JCheckBox पर क्लिक करते हैं, तो यह स्वचालित रूप से चेक से अनचेक या इसके विपरीत में बदल जाता है। एक JCheckBox जब भी चेकबॉक्स बदलता है तो एक ActionListen