我正在将数据从文本文件读入ArrayList,然后尝试在该ArrayList中搜索特定字符串(第二种方法)。
我相信我正在读取数据,但是一旦填充完毕,我正在努力编写在ArrayList上实现的方法。例如,在下面的检查方法中,当我确定输入字符串在数据结构中时,它返回false。
我认识到这可能是我的变量范围或我的方法如何相互作用的问题(即,当我检查它时,arraylist实际上并没有填充数据)。
非常感谢任何帮助 - 谢谢
import java.util.*;
import java.io.*;
public class Word {
ArrayList<String> diclist = new ArrayList<String>();
private void readIn() throws FileNotFoundException {
File file = new File("filepath");
Scanner s = new Scanner(file);
s.useDelimiter("\n");
while (s.hasNextLine()) {
diclist.add(s.nextLine());
}
s.close();
}
public boolean checkIn(String z) {//Check if input string z is in diclist
for (int i = 0; i < diclist.size(); i++) {
if (diclist.get(i).equals(z)) {return true;}
}
return false;
}
}
答案 0 :(得分:0)
到目前为止,您发布的代码中没有明显的问题。调用readIn
后,如果文件存在,可读且非空,则应填充列表。我建议通过调试器运行它。
请注意,checkIn
方法可以大大简化为:
return diclist.contains(z);