2014-03-12 2 views
0

Когда я запускаю строки ниже в командной строке Windows, она не берет первую букву. Если я вхожу 22 печатает только '2'Прочитайте ввод пользователя из командной строки Windows, напечатайте только со второй буквы - Java

private static String readInput() { 
    try { 
     BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
     input = br.readLine(); 
     System.out.println("input "+input); 

    } catch (Exception ioe) { 
     System.out.println("Error trying to read your input!"); 
     ioe.printStackTrace(); 
    } 
}  
+0

доля другой части вашего кода –

+0

отлично работает для меня –

+0

В eclipse это работает отлично. Но в DOS это не работает – user2771655

ответ

0

Попробуйте это.

while((input = br.readLine()) != null){ 
     System.out.println("input "+input); 
    } 
+0

Программа не продолжается. Он продолжается в то время. EX: Введите номер услуги: 1 ввод ввод вход – user2771655

0

попробуйте вот так!

private static String readInput() { 
try { 
    DataInputStream in=new DataInputStream(System.in); 
    input = in.readLine(); 
    System.out.println("input "+input); 
    return input; 
    } catch (Exception ioe) { 
     System.out.println("Error trying to read your input!"); 
     ioe.printStackTrace(); 
    } 
}  
+0

Я тоже это пробовал. Тот же ответ. – user2771655

0

Хорошо, я нашел проблему. Это не относится к сканеру или BufferedReader. Все работает нормально. Один из моих других задних концов - System.in.read();. Вот почему я всегда пропускал первый вход. Извините, что вы сбиваете с толку всех вас.