Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建字符和对象的数组?_Java_Arrays - Fatal编程技术网

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());