错误:找不到符号 - 内部搜索引擎

时间:2014-06-25 14:44:18

标签: java compiler-errors search-engine

我需要创建一个访问服务器文件的内部搜索引擎,并在每个文本文件中查找客户端需要的关键字/短语。但是,到目前为止我使用的代码我一直收到这个错误:

  

SearchFunction.java:28:错误:找不到符号

          } while (fileName == true); 
                   ^   symbol:   variable fileName   location: class SearchFunction

任何帮助都会很棒!谢谢!

public class SearchFunction{
    public static void main (String[] args){

        try{
            do {
                int count = 1;
                String fileName = "Buyerserver" + count + "Log.txt";

                BufferedReader br = new BufferedReader(new FileReader (fileName));

                int linecount = 0;
                    String line;
                System.out.println("Searching for " + args[0] + " in file...");

                while ((line = br.readLine()) != null)
                {
                    linecount++;
                    int indexfound = line.indexOf(args[0]);

                    if (indexfound > -1){
                        System.out.println("Word was found at positon " + indexfound + " on line " + linecount);
                        }
                    }
                    br.close();
                    count++;
                } while (fileName == true); 
            } 
            catch (IOException e){
                System.out.println("IO Error Occurred: " + e.toString());
            }
    }
}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                

1 个答案:

答案 0 :(得分:2)

String fileName

在循环内声明,但是你想在循环条件下测试它,它不可见。

根据经验,变量在声明它们之后的块中是可见的。

例如,

if (x=0) // doesn't compile, x is not in scope here...
{
   x=1; // doesn't compile, x is not in scope here...
   int x;
   x=2; // ok
}

也就是说,编写自己的搜索引擎的想法,特别是作为初学者,是非常值得怀疑的。

顺便说一下,fileName永远不会是true,所以你也必须修复while条件。