我从这一行收到错误“预期的类、接口或枚举”。
image RenderList[] = new image[99];
image 是我做的一个类。我阅读了许多教程/线程,询问如何制作对象数组,他们都同意这一行。还有什么我想念的吗?
我从这一行收到错误“预期的类、接口或枚举”。
image RenderList[] = new image[99];
image 是我做的一个类。我阅读了许多教程/线程,询问如何制作对象数组,他们都同意这一行。还有什么我想念的吗?
您需要使用括号和方括号。
image RenderList[] = new image()[99];
那应该行得通。
如果您是 Java 新手,最简单的方法是确保特定程序的所有类都在同一个目录中。也许您在另一个目录中创建了“图像”类。当编译器找不到它时,你只会得到你遇到的那种错误。这是我的学生中常见的错误。
正如几位受访者指出的那样,请记住给类名加上首字母大写,Image。编译器不在乎,但它是 Java 程序员之间的通用约定。
我确定这有效:
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();
}
}
如果那是导致错误的行,那么它只是image
不解析为类型(例如类)。javacc 编译器还应该发出带有“^”的以下行,以准确指示该语句的哪个部分无效。(请记住在帖子中包含完整的编译器错误。)
确保image
该类是真正被调用的(该类可能应该Image
根据 Java 命名约定来调用),并且如果“图像”类位于不同的命名空间中,则使用任何必需的导入。如果编译器没有查看 JAR/".class"/".java" 文件的正确位置,也可能只是编译器找不到相应的“图像”类。
提供更多的上下文(例如“图像”类的定义和代码的两个部分所在的名称空间)将导致明确的问题识别以及如何解决它。