Java 创建字符和对象的数组?
我正在尝试创建一个包含多个不同内容的数组,以便在命令行中显示某种迷宫。我尝试使用Java 创建字符和对象的数组?,java,arrays,Java,Arrays,我正在尝试创建一个包含多个不同内容的数组,以便在命令行中显示某种迷宫。我尝试使用'*'作为墙,将'作为空白,但我也希望添加对不同对象的引用,例如成堆的黄金,以及由字符表示的小陷阱,如“g”表示黄金,“t”表示陷阱 迷宫中的所有对象都将是MazeObject类的子类。因此,我的问题是,我是否用字符创建数组,如何将对象实例放入数组中,还是将其创建为MazeObject数组,但如何将'*'作为墙,将'作为空格。或者有没有什么方法可以让MazeObject数组中的字符 MazeObject maze[]
'*'
作为墙,将'
作为空白,但我也希望添加对不同对象的引用,例如成堆的黄金,以及由字符表示的小陷阱,如“g”表示黄金,“t”表示陷阱
迷宫中的所有对象都将是MazeObject类的子类。因此,我的问题是,我是否用字符创建数组,如何将对象实例放入数组中,还是将其创建为MazeObject数组,但如何将'*'
作为墙,将'
作为空格。或者有没有什么方法可以让MazeObject数组中的字符
MazeObject maze[][] = new MazeObject[rows][columns]
或
还是多态性
MazeObject[][] maze = new char[rows][columns]
我会像下面的代码一样定义MazeObject。请注意,
char表示法
实际上只是对象的名称或字符表示法。然后Object actuallobj
将成为迷宫中所需的物理对象
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];
如何填充二维数组? ,但答案仍然是整数。您使用的是
MazeObjects
,请记住这一点
解决方案
祝您好运,现在您已经拥有填充二维阵列所需的所有工具 我会说,创建一个mazeobject数组,每个mazeobject都有一个“物理表示”作为char成员。@Leifingson如何添加“*”和“”?我应该为这些创建单独的对象吗?@bob你真的需要二维数组吗?@functor我正在尝试创建二维游戏板。我不知道还能怎么做?@bob我会使用向量2D为每个对象分配坐标,向量2D为每个对象提供x和y。检查我的答案。这正是我在上一篇评论中的想法,谢谢你的详细说明。@functor非常感谢!
int row = 5;
int col = 5;
MazeObject [][] list = new MazeObject [row] [col];
MazeObject [][] list = new MazeObject [5] [5];
list[0][0] = new MazeObject('a');
System.out.println(list[0][0].getRepresentation());