Java使用扫描仪进入按键

前端之家收集整理的这篇文章主要介绍了Java使用扫描仪进入按键前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用 Java编程.
我正在尝试编写代码,可以识别用户是否在基于控制台的程序中按Enter键.

我如何使用java来做到这一点.我被告知,这可以使用扫描仪或缓冲输入读取器完成.我不明白(或知道如何使用)缓冲输入阅读器.

我尝试使用扫描仪做这个操作,但是按两次程序终止后,输入它并不工作

Scanner readinput = new Scanner(System.in);

    String enterkey = "Hola";
    System.out.print(enterkey);


    enterkey = readinput.nextLine();
     System.out.print(enterkey);

    if(enterkey == ""){

        System.out.println("It works!");

谢谢

– 编辑 –
以下代码使用equals方法用于字符串而不是==

Scanner readinput = new Scanner(System.in);

    String enterkey = "Hola";
    System.out.print(enterkey);


    enterkey = readinput.nextLine();
     System.out.print(enterkey);

    if(enterkey.equals("")){

        System.out.println("It works!");

如何做到这一点,使用缓冲输入阅读器有什么好处?

解决方法

这可以使用java.util.Scanner进行,并且会执行多次“输入”击键:
Scanner scanner = new Scanner(System.in);
    String readString = scanner.nextLine();
    while(readString!=null) {
        System.out.println(readString);

        if (readString.isEmpty()) {
            System.out.println("Read Enter Key.");
        }

        if (scanner.hasNextLine()) {
            readString = scanner.nextLine();
        } else {
            readString = null;
        }
    }

打破它:

Scanner scanner = new Scanner(System.in);
String readString = scanner.nextLine();

这些行初始化从standard input stream(键盘)读取的新的扫描仪,并从中读取一行.

while(readString!=null) {
        System.out.println(readString);

当扫描仪仍然返回非空数据时,将每行打印到屏幕.

if (readString.isEmpty()) {
            System.out.println("Read Enter Key.");
        }

如果输入提供“输入”(或返回或任何)键,则nextLine()方法将返回一个空字符串;通过检查字符串是否为空,我们可以确定该键是否被按下.这里打印文本Read Enter Key,但您可以在此处执行任何您想要的操作.

if (scanner.hasNextLine()) {
            readString = scanner.nextLine();
        } else {
            readString = null;
        }

最后,按下“进入”键后打印内容和/或做某事,我们检查扫描仪是否有另一行;对于标准输入流,该方法将“阻塞”,直到流关闭,程序执行结束或进一步输入.

原文链接:https://www.f2er.com/java/121213.html

猜你在找的Java相关文章