2014-09-29 11 views
10

का उपयोग करके इंटेलिज के लिए System.in पढ़ना मुझे इंटेलिज का उपयोग करके मेरे असाइनमेंट के लिए कंसोल खोलने और इनपुट में टाइप करने की आवश्यकता है। ग्रहण ऐसा करने Scanner वर्ग का उपयोग करने और System.in पढ़ने लेकिन चल रहा कंसोल में कुछ भी टाइप नहीं कर सकते हैं के रूप में इंटेलीजे में एक ही कोड काम नहीं करता है का एक तरीका है।कंसोल

क्या ऐसा करने का कोई तरीका है?

public class BasicAssertions { 
     @Test 
     public void testAssertions(){ 
      System.out.println("Enter: "); 
      Scanner reader = new Scanner(System.in); 
      int first = reader.nextInt(); 
      int second = reader.nextInt(); 
      String s = reader.next(); 
      String s2 = reader.next(); 
      assertTrue(first<=second); 
      assertFalse(first+second >100); 
      assertNotEquals(s,s2); 
      assertNotNull(s2);  
     }  
    } 

उत्तर

4

बस कंसोल विंडो और प्रकार पर क्लिक करें, उस पर इंटेलीजे 13 सीई मेरे लिए काम करता है:
मेरे कोड इस प्रकार है। नीचे चित्र देखें, मैं कंसोल में क्लिक किया और (यह तो हरे रंग में दिखाई है, मैं में प्रवेश द्वारा टाइप किया गया है और यह दिखाता है) पाठ लिखा है:

enter image description here

+4

मेरी माफ़ी, मुझे अभी पता चला है कि कंसोल के लिए ठीक से एक मुख्य विधि आवश्यक है। मैंने कोडिट स्निपेट को एक जूनिट टेस्ट कॉन्फ़िगरेशन (जैसा कि मैं कर रहा था) के माध्यम से पोस्ट किया था, एक कंसोल का उत्पादन करेगा जो इनपुट प्राप्त नहीं करता है। जवाब के लिए धन्यवाद! – daidaidai

20

हल। सही कंसोल के प्रकट होने के लिए public static void main() विधि आवश्यक है, अन्यथा डिफ़ॉल्ट का उपयोग करके चल रहा है JUnit टेस्ट कॉन्फ़िगरेशन केवल एक कंसोल में परिणाम देगा जो इनपुट प्राप्त नहीं करता है।