我遇到这个问题,我创建了一个带有2个位置的“TablasDeSimbolos”类型的数组,当我试图访问第一个位置时,它给了我错误。我正在使用NetBeans 8.0.2 我得到的确切消息是:
cannot find symbol
symbol: class tablaDeSimbolos
location: class Sintactico
']' expected
这是代码:
TablaDeSimbolos tablaDeSimbolosActual = null;
TablaDeSimbolos[] tablasDeSimbolos = new TablaDeSimbolos[2];
tablasDeSimbolos[0] = null; //The error it's here
班级TablaDeSimbolos
public class TablaDeSimbolos {
public TablaDeSimbolos() {
}
private List<String[]> tablaSimbolos = new ArrayList<String[]>();
//Funcion que anade una entrada a la tabla de simbolos donde el lexema es el nombre de variableo funcion,
//El tipo es el tipo (entero, cadena, boolean) si es funcion el valor es null, el desplazamiento es desde donde
//empieza a escribir la variable(valor inicial 0) y el paso de parametro puede ser por VAL - VALOR o REF - REFERENCIA
public void anadirATS(String lexema, String tipo, String desplazamiento, String pasoDeParametro) {
String[] nuevaEntrada = {lexema, tipo, desplazamiento, pasoDeParametro};
tablaSimbolos.add(nuevaEntrada);
}
public boolean buscarEnTS(String entrada) {
for (int i = 0; i < tablaSimbolos.size(); i++) {
if (entrada.equals(tablaSimbolos.get(i)[1])) //Aqui obtenemos el lexema de la entrada en la tabla
{
return true; //Si lo encontramos retornamos true
}
}
return false;//Si no encontramos el lexema en la tabla entonces false
}
}
提前致谢。
答案 0 :(得分:1)
我测试了你的代码没有错。
然而由于以下原因导致无法找到符号,
所以你使用Neatbeans所以第一个不是你的概率。然后看起来像第二个以某种方式导致问题。
答案 1 :(得分:0)
tablasDeSimbolos[0] = null; //The error it's here
我对此表示怀疑。消息说的是关于tablaDeSimbolos
,而不是tablasDeSimbolos
。看起来你已经消除了你的变量,编译器试图将这个标记识别为类名。
答案 2 :(得分:0)
我发现错误,我无法在没有方法的情况下访问类中的数组。 解决方案是将数组创建为类的属性,然后使用方法访问数组的位置并进行修改。
感谢您的帮助。