我创建了一个包含两个位置的“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
}
}
3条答案
按热度按时间0qx6xfy61#
我测试了你的代码没有错。
但是,找不到符号,原因如下,
1.您没有导入类文件。
1.或者该类的类路径对于您正在访问的位置不可用。
所以你使用的是Neatbeans,所以1st不是你的问题。然后看起来2nd在某种程度上导致了问题。
44u64gxh2#
我怀疑。消息说的是
tablaDeSimbolos
,而不是tablasDeSimbolos
。看起来你的变量被拼错了,编译器试图将这个标记标识为类名。8zzbczxx3#
我发现了这个错误,没有方法就无法访问类中的数组。解决方法是创建数组作为类的属性,然后使用方法访问数组的位置并修改。
谢谢你的帮助。