-1
data_structures/ExpressionEvaluator.java:14: incompatible types.lang.String)
found   : java.util.StringTokenizer class data_structures.ExpressionEvaluator
required: java.util.Iterator<java.lang.String>ing> st = StringTokenize
        Iterator<String> st = new StringTokenizer(s);

我必须在某处声明 Iterator 吗?

4

2 回答 2

0

仔细看:

Iterator<String> st = new StringTokenizer(s);

您正在声明一个 Iterator 类型的变量 st,并在其上创建一个 StringTokenizer 类型的新对象。关于官方规范:

http://docs.oracle.com/javase/1.4.2/docs/api/java/util/StringTokenizer.html

您可以看到一个迭代标记化字符串的示例。

于 2012-10-16T04:40:50.320 回答
0

StringTokenizer类用于字符串拆分,并且在这些日子里没有被太多使用。您可以在课堂上使用split方法。String现在遇到您的问题,没有Iterator关联,StringTokenizer它使用Enumeration.It 看起来您期望Iterator对象中的StringTokenizer对象甚至无法编译。因此,要么将其编码为枚举并使用String.split方法将其拆分为数组。你的代码应该像

StringTokenizer tokenizer = new StringTokenizer(inputString);

while(tokenizer.hasMoreElements()) {
   String o = (String)tokenizer.nextElement();
   ......
   .......
}

或者

String[]  splitted = inputString.split(delimter);
于 2012-10-16T04:44:24.547 回答