带有tokenizer的扫描仪只能给出一行单词?

时间:2015-11-25 07:40:49

标签: java

我使用Scanner从用户那里读取输入字符串:

Scanner s =new Scanner(System.in); System.out.println("Insert Command: "); input=s.next();

然后我使用StringTokenizer将输入分成单词,但令牌只取第一个单词:

StringTokenizer command=new StringTokenizer(input);

         System.out.println( command.countTokens());
         System.out.println( command.nexttoken())
         System.out.println( command.nexttoken());

例如:输入为:“find a www.google.com” 我得到的输出是:

1 find Exception occured

我在这里做错了什么?

1 个答案:

答案 0 :(得分:3)

嗯......首先,您使用的是StringTokenizer,它已被弃用于多个Java版本。您应该使用String的split方法或regex。

next()方法只接受第一个标记,而不是整行,因此请尝试使用其他扫描程序方法。使用nextLine()代替next()再次尝试使用您的代码。

next()方法停止在第一个空格处读取。