我正在做一个解析程序。这是我的主文件。我在主文件中创建了一个实例类的标识符,但它无法编译。错误显示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;
}
再次,如果我错过了互联网上的东西。请告诉我任何关键词或链接指出我。非常感谢你
答案 0 :(得分:2)
这是一个错字。您声明dataArray
,但使用dataArrary
。
答案 1 :(得分:1)
你写了dataArrary
而不是dataArray
。拼错。
答案 2 :(得分:1)
我也找不到dataArrary
,也许你的意思是dataArray
早先宣布的。
我倾向于使用IDE的代码完成来避免此类问题(并保存输入)在我的IDE中可以编写da
和< ctrl> + < space&gt ; 它给了我一个可以使用的符号列表。这样我就节省了一些按键,通常是正确的。