netbeans 尝试访问数组的某个位置时需要“]"

prdp8dxp  于 2022-11-10  发布在  其他
关注(0)|答案(3)|浏览(151)

我创建了一个包含两个位置的“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
    }
}
0qx6xfy6

0qx6xfy61#

我测试了你的代码没有错。
但是,找不到符号,原因如下,
1.您没有导入类文件。
1.或者该类的类路径对于您正在访问的位置不可用。
所以你使用的是Neatbeans,所以1st不是你的问题。然后看起来2nd在某种程度上导致了问题。

44u64gxh

44u64gxh2#

tablasDeSimbolos[0] = null; //The error it's here

我怀疑。消息说的是tablaDeSimbolos,而不是tablasDeSimbolos。看起来你的变量被拼错了,编译器试图将这个标记标识为类名。

8zzbczxx

8zzbczxx3#

我发现了这个错误,没有方法就无法访问类中的数组。解决方法是创建数组作为类的属性,然后使用方法访问数组的位置并修改。
谢谢你的帮助。

相关问题