यदि एक वास्तव में चाहता था कि वे ऐसा तरह scanf()
की वहाँ अपने संस्करण बना सकते हैं करने के लिए:, जाहिर है
import java.util.ArrayList;
import java.util.Scanner;
public class Testies {
public static void main(String[] args) {
ArrayList<Integer> nums = new ArrayList<Integer>();
ArrayList<String> strings = new ArrayList<String>();
// get input
System.out.println("Give me input:");
scanf(strings, nums);
System.out.println("Ints gathered:");
// print numbers scanned in
for(Integer num : nums){
System.out.print(num + " ");
}
System.out.println("\nStrings gathered:");
// print strings scanned in
for(String str : strings){
System.out.print(str + " ");
}
System.out.println("\nData:");
for(int i=0; i<strings.size(); i++){
System.out.println(nums.get(i) + " " + strings.get(i));
}
}
// get line from system
public static void scanf(ArrayList<String> strings, ArrayList<Integer> nums){
Scanner getLine = new Scanner(System.in);
Scanner input = new Scanner(getLine.nextLine());
while(input.hasNext()){
// get integers
if(input.hasNextInt()){
nums.add(input.nextInt());
}
// get strings
else if(input.hasNext()){
strings.add(input.next());
}
}
}
// pass it a string for input
public static void scanf(String in, ArrayList<String> strings, ArrayList<Integer> nums){
Scanner input = (new Scanner(in));
while(input.hasNext()){
// get integers
if(input.hasNextInt()){
nums.add(input.nextInt());
}
// get strings
else if(input.hasNext()){
strings.add(input.next());
}
}
}
}
मेरी तरीकों केवल तार और पूर्णांकों के लिए जाँच करता है, तो आप अलग-अलग डेटा प्रकारों को संसाधित करना चाहते हैं, उचित सरणीसूची जोड़ें और उनके लिए जांच करें। इसके अलावा, hasNext()
शायद if-else if
अनुक्रम के नीचे होना चाहिए क्योंकि hasNext()
स्ट्रिंग में मौजूद सभी डेटा के लिए सत्य वापस आ जाएगा।
आउटपुट:
Give me input: apples 8 9 pears oranges 5 Ints gathered: 8 9 5 Strings gathered: apples pears oranges Data: 8 apples 9 pears 5 oranges
शायद नहीं सबसे अच्छा उदाहरण; लेकिन, बिंदु यह है कि Scanner
Iterator
कक्षा लागू करता है।hasNext<datatypehere>()
विधियों का उपयोग करके स्कैनर इनपुट के माध्यम से इसे फिर से बनाना आसान बनाना; और उसके बाद इनपुट भंडारण।
स्रोत
2017-07-06 00:56:57
Juse के पीछे आप [एक लिंक] http://stackoverflow.com/questions/2506077/how-to-read-integer-value-from-the- मानक-इनपुट-इन-जावा – beyrem
क्यों डाउनवोट्स ...? मुझे लगता है कि वह जावा में सिर्फ एक नौसिखिया है। हम एक नौसिखिया से क्या उम्मीद कर सकते हैं, वह सिर्फ सी और जावा –
के बीच कुछ संबंध ढूंढना चाहता है जावा में 'स्ट्रिंग.फॉर्मैट (प्रारूप, तर्क)' है (यह प्रिंटफ के लिए बहुत समान है) यह समझ में आता है कि कोई जानना चाहता है कि क्या है एक 'स्कैनफ' समकक्ष। मुझे नहीं पता कि यह प्रश्न क्यों मतदान किया गया है। – 4gus71n