我正在Windows 7上编写Java,我希望能够使用键盘输入,我只能假设它是标准输入。
我尝试使用BufferedInput
,System.in
和Scanner
,但所有这些都要求程序暂停并等待行尾或返回!无论如何只是在使用时收集和记录数据,而不必等待返回?
答案 0 :(得分:2)
这是一个快速解决方案:
public static void main(String[] args) {
Thread inputThread = new Thread(new Runnable() {
@Override
public void run() {
Scanner scan = new Scanner(System.in);
String input = "";
while (true) {
System.out.println("Type something: ");
input = scan.nextLine();
System.out.println("Input: "+input);
}
}
});
inputThread.start();
while (true) {
System.out.println("");
System.out.println("test");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
主线程每秒打印一次“测试”。 inputThread要求用户键入内容然后打印他写的内容。它只是一个“视觉”解决方案,当然你不想在用户打字时打印一些东西。