键盘缓冲区(以字符串作为输入)

时间:2016-01-21 12:18:35

标签: java java.util.scanner

当我们点击很多输入密钥时,为什么' / 0'没有存储在string.i.e中。为什么输入键不会保留在键盘缓冲区中?

import java.util.Scanner;

public class sum {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("================================");
        for(int i=0;i<3;i++)
        {
            String s1=sc.next();
            System.out.printf("%s",s1);//on pressing enter key many time also it does not remain in buffer. why? why? why?
        }
        System.out.println("================================");

    }
}

1 个答案:

答案 0 :(得分:0)

scanner对象使用分隔符来过滤输入。您可以使用\p{javaWhitespace}+查看默认分隔符System.out.println(sc.delimiter());。这是一个正则表达式,基本上表示忽略所有空行或空行。按Enter键时,您将传递被忽略的空行。

阅读该行,无论使用什么sc.nextLine();

其他选项是使用sc.next(pattern);,但我可以看到这一点。

您可以阅读有关扫描仪here

的更多信息