2

我从这一行收到错误“预期的类、接口或枚举”。

image RenderList[] = new image[99];

image 是我做的一个类。我阅读了许多教程/线程,询问如何制作对象数组,他们都同意这一行。还有什么我想念的吗?

4

4 回答 4

0

您需要使用括号和方括号。

image RenderList[] = new image()[99];

那应该行得通。

于 2013-06-24T18:49:32.303 回答
0

如果您是 Java 新手,最简单的方法是确保特定程序的所有类都在同一个目录中。也许您在另一个目录中创建了“图像”类。当编译器找不到它时,你只会得到你遇到的那种错误。这是我的学生中常见的错误。

正如几位受访者指出的那样,请记住给类名加上首字母大写,Image。编译器不在乎,但它是 Java 程序员之间的通用约定。

于 2012-09-17T22:42:41.963 回答
0

我确定这有效:

package cruft;

public class Image {

    private String name;

    public Image(String name) {
        this.name = name;
    }

    public static void main(String [] args) {
        Image [] images = new Image[args.length];
        int i = 0;
        for (String name : args) {
            images[i++] = new Image(name);            
        }
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder();
        sb.append("Image");
        sb.append("{name='").append(name).append('\'');
        sb.append('}');
        return sb.toString();
    }
}
于 2012-09-17T01:48:51.140 回答
0

如果那是导致错误的行,那么它只是image不解析为类型(例如类)。javacc 编译器还应该发出带有“^”的以下行,以准确指示该语句的哪个部分无效。(请记住在帖子中包含完整的编译器错误。)

确保image该类是真正被调用的(该类可能应该Image根据 Java 命名约定来调用),并且如果“图像”类位于不同的命名空间中,则使用任何必需的导入。如果编译器没有查看 JAR/".class"/".java" 文件的正确位置,也可能只是编译器找不到相应的“图像”类。

提供更多的上下文(例如“图像”类的定义和代码的两个部分所在的名称空间)将导致明确的问题识别以及如何解决它。

于 2012-09-17T01:49:41.787 回答