StringTokenizer t = new StringTokenizer("abcdefghi.abcde$fgh 8000");
String command = t.nextToken().toLowerCase();
我这样解析的时候出现
java.util.NoSuchElementException
at java.util.StringTokenizer.nextToken(StringTokenizer.java:232)
String command = t.nextToken().toLowerCase();
我这样解析的时候出现
java.util.NoSuchElementException
at java.util.StringTokenizer.nextToken(StringTokenizer.java:232)
用空格分隔的你在这之前调用过nextToken吗,调用一次,处理位置会向前进一个token
we为什么要转换成小写。
^_^?
标点符号,转有用吗?
^_^
import java.io.*;
import java.util.*;
public class MgeClient {
public MgeClient() {
}
public static void main(String[] args) throws Exception {
if (args.length != 2) {
System.out.println("用法:Client <主机名> <端口号>");
return;
}
DataInputStream sin=new DataInputStream(System.in);
System.out.print("you say:");
String cmdStr=sin.readLine(); //读取用户输入的字符串
StringTokenizer t = new StringTokenizer(cmdStr," ");
System.out.println(t.countTokens());
}}
这样读入一个string为什么不行?就输入"abcdefghi.abcde$fgh 8000"这样一个字符串