按Enter继续跳过后续操作

时间:2013-11-05 20:15:33

标签: java eclipse

我正在尝试让程序等待用户按下某个键,然后再继续多次。优选地,这可能是任何关键,但如果用户只能按返回 / Enter 继续,我就不会太烦恼。

import java.io.IOException;
import java.util.Scanner;

public class test {
    public static void main(String[] args) throws IOException {
        System.out.print("1");
        System.in.read();
        System.out.print("2");
        System.in.read();
        System.out.print("3");
    }
}

所需的输出如下:

1

第一次出版后:

1
2

第二次出版后:

1
2
3

实际上会发生什么:

1

第一次出版后:

1
23

如您所见,它会跳过所有后续指示以等待用户输入。

我也尝试过使用扫描仪,这样可行,但它也允许用户输入文本,这是我不希望发生的事情。

1 个答案:

答案 0 :(得分:4)

您可以使用skip()available()方法在下一个read()之前丢弃数据:

System.out.print("1");
System.in.read();
System.in.skip(System.in.available());
System.out.print("2");
System.in.read();
System.out.print("3");