可变范围 - JAVA类/方法

时间:2015-12-28 23:06:41

标签: java arraylist scope

我正在将数据从文本文件读入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;
                                                    }
}

1 个答案:

答案 0 :(得分:0)

到目前为止,您发布的代码中没有明显的问题。调用readIn后,如果文件存在,可读且非空,则应填充列表。我建议通过调试器运行它。

请注意,checkIn方法可以大大简化为:

return diclist.contains(z);