加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java使用扫描仪进入按键

发布时间:2020-12-14 05:49:38 所属栏目:Java 来源:网络整理
导读:我使用 Java编程. 我正在尝试编写代码,可以识别用户是否在基于控制台的程序中按Enter键. 我如何使用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;
        }

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读