我一直试图弄清楚如何使用Scanner该类一次输入多个令牌.我找到了一些完美的代码.我知道该Scanner.hasNext方法可以无限期地阻止.为什么keyboard = new Scanner(keyboard.nextLine());此代码中的行阻止它执行此操作?
Scanner keyboard = new Scanner(System.in);
LinkedList<String> ll = new LinkedList<String>();
System.out.println("Please enter your full name: ");
keyboard = new Scanner(keyboard.nextLine());
while(keyboard.hasNext())
{
System.out.println("tag ");
ll.add(keyboard.next());
}
System.out.println(ll);
Run Code Online (Sandbox Code Playgroud)
谢谢!
keyboard将是Scanner从第一行输入读取令牌的.
使用Scanner(String str)构造函数时,生成的扫描程序将str用作输入.
如果您明白这一点,您可能只需要了解终端IO是行缓冲的.这意味着在按下之前扫描仪将无法读取return.
| 归档时间: |
|
| 查看次数: |
3280 次 |
| 最近记录: |