我使用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
我在这里做错了什么?
答案 0 :(得分:3)
嗯......首先,您使用的是StringTokenizer,它已被弃用于多个Java版本。您应该使用String的split方法或regex。
next()
方法只接受第一个标记,而不是整行,因此请尝试使用其他扫描程序方法。使用nextLine()
代替next()
再次尝试使用您的代码。
next()
方法停止在第一个空格处读取。