繁体   English   中英

Java错误:没有声明,我也不知道为什么?

[英]Java error: not a statement and I don't know why?

我真的不确定是什么导致此编译时错误发生? 我一直在试图找出答案,似乎找不到问题所在。

ClassTable.java:253: error: not a statement
                class_c class = classes.nextElement();
                ^

ClassTable.java:253: error: ';' expected
                class_c class = classes.nextElement();
                       ^

ClassTable.java:253: error: <identifier> expected
                class_c class = classes.nextElement();
                             ^
ClassTable.java:253: error: <identifier> expected
                class_c class = classes.nextElement();
                                                   ^

ClassTable.java:254: error: illegal start of expression
                class_c parent = table.getClass(class.getParent());
                                                ^

ClassTable.java:254: error: ';' expected
                class_c parent = table.getClass(class.getParent());
                                                                 ^

ClassTable.java:264: error: illegal start of expression
        list.add(class);
                 ^

ClassTable.java:264: error: ';' expected
        list.add(class);

这是我的代码:

class ClassTable {
private int semantErrors;
private PrintStream errorStream;
private Hashtable<class_c,ArrayList<class_c>> table;
private boolean noCycles = true;

public void addClass(class_c c){
    Hashtable<class_c, ArrayList<class_c>> table = this.table();

    if(table.containsKey(c)){
        errorStream.print(c.getFilename() + ":" + c.getLineNumber() + ": " + "Class " + c.getName() + " was previously defined.");
        System.out.println();
        this.semantError();

    }
    else{
        ArrayList<class_c> list = new ArrayList<class_c>();
        table.put(c,list);
    }

}

public void addChildren(){
    Enumeration classes = this.table.keys();

    while(classes.hasMoreElements())
    {

        class_c class = classes.nextElement();
        class_c parent = table.getClass(class.getParent());


    if(!table.containsKey(parent)){
        errorStream.print(c.getFilename() + ":" + c.getLineNumber() + ": " + "Class "+ c.getName() + " inherits from an undefined class " + c.getParent()+".");
        System.out.println();
        this.semantError();
    }
    else{
    ArrayList<class_c> list = table.get(parent);
    list.add(class);
    this.table.put(parent,list);
        }
     }
   }
 }

请帮帮我。 为什么我不断收到此错误????

class需要是clazz或其他。 class是Java中的保留名称。

其他Java关键字是:

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

您不能在程序中使用任何关键字作为标识符。 为您提供信息,这是关键字列表: http : //docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

class是Java中的保留关键字,用于定义Java类。
例如:

class Test{
}

定义一个Test类。 因此,您不应使用它来定义变量或引用。
阅读有关Java保留字列表的信息: http : //en.wikipedia.org/wiki/List_of_Java_keywords

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM