为简单起见,我希望在终端中有循环逻辑,它将在检查用户输入的同时不间断地处理信息,而无需等待用户输入。
伪:
loop
If user input
See what they've entered
Do logic loop
注意:我尝试使用带有System.in的扫描仪并尝试查看下一行是否为空。不幸的是,该实现仍然导致应用程序暂停。
答案 0 :(得分:1)
根据camickr和以下post的评论,您可以使用以下算法:
public class ScannerRunner implements Runnable {
private Scanner sc;
private ScannerRunner() {/* no instantiation without parameters*/}
public ScannerRunner(Scanner sc) {
this.sc = sc;
}
@Override
public void run() {
System.out.println("Enter The Correct Number ! ");
int question = sc.nextInt();
while (question!=1){
System.out.println("please try again ! ");
question = sc.nextInt();
}
System.out.println("Success");
}
}
然后,在主线程中创建一个扫描程序,然后使用上面的Runner(使用您提供的扫描程序构建)生成一个线程,让主线程监听扫描程序上的输入。 Scanner API应该可以帮到你。