【发布时间】:2015-02-02 22:17:35
【问题描述】:
我觉得很奇怪为什么当表达式为“12 + 1”时 spaceCount 不加起来。我得到了 spaceCount 的输出 0,即使它应该是 2。任何见解都将不胜感激!
public int countSpaces(String expr) {
String tok = expr;
int spaceCount = 0;
String delimiters = "+-*/#! ";
StringTokenizer st = new StringTokenizer(expr, delimiters, true);
while (st.hasMoreTokens()) {
if ((tok = st.nextToken()).equals(" ")) {
spaceCount++;
}
}
return spaceCount; // the expression is: 12 + 1, so this should return 2, but it returns 0;
}
【问题讨论】:
-
@clcto: 第三个参数表示分隔符也应该作为token返回
-
您的代码对我来说运行良好。它返回 2。
标签: java string token tokenize