当我在Windows命令行中运行以下行时,它不会占用第一个字母。如果我输入22
,则仅打印'2'
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)
试试这个。
while((input = br.readLine()) != null){
System.out.println("input "+input);
}
答案 1 :(得分: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();
}
}
答案 2 :(得分:0)
好的,我发现了问题。它与扫描仪或BufferedReader无关。一切正常。
我的另一个后端线程之一是阅读System.in.read();
。这就是为什么我总是错过第一次输入。很抱歉让大家感到困惑。