创建一个Chars和对象数组?

时间:2013-12-13 05:57:11

标签: java arrays

我正在尝试创建一个包含几个不同内容的数组,这样我就可以在命令行中显示一种迷宫。我试图使用'*'作为墙,' '作为空格,但我还想添加对不同对象的引用,例如成堆的金币和由字符表示的小陷阱喜欢' g'对于黄金,并且' t'陷阱

迷宫中的所有对象都将成为MazeObject类的子类。所以我的问题是我是否用数组制作数组,以及如何将对象实例放入数组中,或者我应该将其设置为MazeObject数组,但是如何将'*'作为墙包含,并{{{ 1}}作为空格。或者是否有某种方法可以使用MazeObject数组的字符?

' '

MazeObject maze[][] = new MazeObject[rows][columns]

还是多态?

char maze[][] = new char[rows][columns]

1 个答案:

答案 0 :(得分:1)

我会像下面的代码一样定义MazeObject。请注意,char representation实际上只是对象的名称或字符表示。然后Object actualObj将是您在迷宫中想要的物理对象。

public class MazeObject
{
    private char representation;
    private Object actualObj;

    public MazeObject(char r)
    {
        representation = r;
    } 

    public char getRepresentation()
    {
        return representation;
    }
}

然后你可以通过这样做列出一个列表:

int row = 5;
int col = 5;
MazeObject [][] list = new MazeObject [row] [col]; 

如何填充二维数组?

Answer,但这个答案仍然适用于整数。您正在使用MazeObjects,请记住这一点。

解决方案

    MazeObject [][] list = new MazeObject [5] [5];

    list[0][0] = new MazeObject('a');

    System.out.println(list[0][0].getRepresentation());

祝其他人好运,现在您拥有填充二维阵列所需的所有工具。