我有一个.txt文件,每行都有整数,例如
1 4 5 6
我想用文件计算数组中值的出现次数。
我的代码提取是这个
String s = null;
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
while ((s = br.readLine()) !=null) {
StringTokenizer st = new StringTokenizer(s);
while (st.hasMoreTokens()) {
for (int i = 0; i < array.length; i++) {
if (st.nextToken().equals(array[i])) {
count++;
}
错误消息
java.util.NoSuchElementException
at java.util.StringTokenizer.nextToken(Unknown Source)
该文件位于同一目录中。
有人可以帮我一把吗? 谢谢答案 0 :(得分:2)
你的问题是你试图为for
循环的每次迭代拉一个新的令牌 - 相反,你需要在for循环之前将st.nextToken()的结果赋给变量,然后在if
语句中使用该变量。
String s = null;
String token = null;
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
while ((s = br.readLine()) !=null) {
StringTokenizer st = new StringTokenizer(s);
while (st.hasMoreTokens()) {
token = st.nextToken();
for (int i = 0; i < array.length; i++) {
if (token.equals(array[i])) {
count++;
}
}
}
}