这个错误是关于找不到范围问题的变量吗?

时间:2011-05-28 08:42:51

标签: java scope

我正在做一个解析程序。这是我的主文件。我在主文件中创建了一个实例类的标识符,但它无法编译。错误显示if语句dataArrary.lineStart(limiterNum,lineNum);内部找不到dataArray符号。所以我确实错过了什么?这是范围问题吗?

public static void main(String[] args){     
    BufferedReader reader = null;
    String line = "a";  
    try{
        indentifier dataArray = new indentifier();
        reader = new BufferedReader(new FileReader("Discount.java"));
        Pattern a = Pattern.compile(".*for(.*)[{]");
        Pattern b = Pattern.compile(".*while(.*).*[{]");
        Pattern c = Pattern.compile(".*if(.*)[{]");
        Pattern d = Pattern.compile(".*[}]");
        Pattern e = Pattern.compile(".*class.*[{]");
        Pattern f = Pattern.compile("(.*)[{]");

        while(line != null){
            line = reader.readLine();
            Matcher mfor = a.matcher(line);
            Matcher mwhile = b.matcher(line);
            Matcher mif = c.matcher(line);
            Matcher mend = d.matcher(line);
            Matcher mclass = e.matcher(line);
            Matcher mfunc = f.matcher(line);



            if (mclass.matches() == true){
                dataArrary.lineStart(limiterNum,lineNum);
                limiteradd(0);
                continue;
            }
再次,如果我错过了互联网上的东西。请告诉我任何关键词或链接指出我。非常感谢你

3 个答案:

答案 0 :(得分:2)

这是一个错字。您声明dataArray,但使用dataArrary

答案 1 :(得分:1)

你写了dataArrary而不是dataArray。拼错。

答案 2 :(得分:1)

我也找不到dataArrary,也许你的意思是dataArray早先宣布的。

我倾向于使用IDE的代码完成来避免此类问题(并保存输入)在我的IDE中可以编写da< ctrl> + < space&gt ; 它给了我一个可以使用的符号列表。这样我就节省了一些按键,通常是正确的。