有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我创建了一个类型为“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

还有塔拉德西姆博洛斯

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) 个答案

  1. # 1 楼答案

    我测试了你的代码,没有问题

    但是由于以下原因,找不到符号

    1. 您没有导入类文件
    2. 或该类的类路径对于您要访问的位置不可用

    所以你用的是Neatbeans,所以1号不是你的问题。看来第二个问题是由第二个引起的

  2. # 2 楼答案

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

    我对此表示怀疑。消息说的是tablaDeSimbolos,而不是tablasDeSimbolos。看起来您的变量已被拆分,编译器试图将此标记标识为类名

  3. # 3 楼答案

    我发现了错误,如果没有方法,我无法访问类中的数组。 解决方案是创建数组作为类的一个属性,然后使用方法访问数组的位置并修改

    谢谢你的帮助