']'在尝试访问阵列的位置时期望

时间:2014-12-27 17:15:48

标签: java arrays exception netbeans

我遇到这个问题,我创建了一个带有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
    }
}

提前致谢。

3 个答案:

答案 0 :(得分:1)

我测试了你的代码没有错。

然而由于以下原因导致无法找到符号

  1. 您不是导入类文件。
  2. 此类的Classpath不适用于您访问的位置。
  3. 所以你使用Neatbeans所以第一个不是你的概率。然后看起来像第二个以某种方式导致问题。

答案 1 :(得分:0)

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

我对此表示怀疑。消息说的是关于tablaDeSimbolos,而不是tablasDeSimbolos。看起来你已经消除了你的变量,编译器试图将这个标记识别为类名。

答案 2 :(得分:0)

我发现错误,我无法在没有方法的情况下访问类中的数组。 解决方案是将数组创建为类的属性,然后使用方法访问数组的位置并进行修改。

感谢您的帮助。