2012-02-16 42 views
0

对不起我,因为我是在Java初学者...寻找等价性的typedef和数组从C到Java的

我想翻译下面的代码,我用C做了到Java:

#define ROWIMAGES 5 
#define COLUMNIMAGES 11 

typedef struct { 
    int posX; 
    int posY; 
    int active; 
} image; 

image images[COLUMNIMAGES][ROWIMAGES]; 

我想如下翻译它:

private static final int ROWIMAGES = 5; 
private static final int COLUMNIMAGES = 11; 

class image{ 
    int posX; 
    int posY; 
    int active; 
} 

image images[COLUMNIMAGES][ROWIMAGES]; 

Java中的数组抛出一个语法错误,有什么不对?

在此先感谢。

回答

3
image[][] images = new image[COLUMNIMAGES][ROWIMAGES]; 
+0

并分配一个值给对象?我试图做到这一点,但崩溃... images [0] [0] .posX = 1; – karse23 2012-02-16 20:55:20

+1

这是因为数组中的所有元素都被初始化为null。在设置字段之前,您必须先执行'images [0] [0] = new image()'。 – 2012-02-16 21:23:08

1
  1. 正确的语法是image[][] images = new image[COLUMNIMAGES][ROWIMAGES]。在Java中,你必须在数组上调用new。
  2. 你必须在方法体内编码。

附加提示:

  1. 你的类名应该是 “图像”,满足了Java命名约定。
  2. 也许你应该从基础开始。网上有很多教程。