繁体   English   中英

如何将字符串添加到二维对象数组?

[英]How to add strings to a 2d array of objects?

所以我有一个二维的Cell类对象数组。 这是用于连接4游戏。 现在,此阵列的大小由启动板时的参数确定。 看起来像这样:

public ConnectSome(int size){
    board = new Cell[(size*2)-1][(size+2)];
    for(int i = 0 ; i<board.length; i++)
        for(int j = 0; j<board[i].length; i++)
            board[i][j] = new Cell();

我需要制作一个toString()方法,它将板子变成字符串并返回它。 我已经有一个Cell类的toString()方法,该方法返回该单元的状态(在本例中为Yellow,Red或空)。

我如何使此方法返回一个字符串,不仅以字符串形式显示每个单元格,还用框架将其包围? 我已经尝试了,但是迷路了。 应该看起来像这样:

|.......|
|.......|
|.......|
|.......|
|.......|
|.......|
+-------+

其中句点(。)是“空”的Cell对象toString()Cell上使用toString()的结果。)这只是一个示例板,其大小可以变化,但是边框是我要实现的目标。

因此,您需要包含所有数据的1个字符串,还是想要每个单元格中包含的字符串?

String s = null;
for (int i = 0; i < board.length; i++){
    for(int j = 0; j < board.length; j++){
        String temp = board[i][j];
        s = s + temp;
    }
}

那应该工作

如果我的问题正确,那么这应该是答案。

public String boardToString()
    {
    String str="";
        for(int i = 0 ; i<board.length; i++)
        {
        str+="|";
            for(int j = 0; j<board[i].length; i++)
            {
            Cell cell=board[i][j];
            str+=cell.toString();//assuming you have a toString method.
            }
        str+="|\n";
        }
       return str;
    }

杜德(Dude),您想要做的事情非常简单,您可以轻松地自己弄清楚-您不需要任何其他知识和特殊代码,只需已经显示的内容即可。 无论如何,您都可以进入(请注意,这不是工作代码,仅是一个示例):

//take your board and iterate over it
for(int i = 0 ; i<board.length; i++) {
    system.out.print("|"); //print left border of your game field
    for(int j = 0; j<board[i].length; i++) {
        system.out.print(board[i][j].toString()); // print cell state
    }
    system.out.println("|"); //print right border
}

编辑:我的坏->如果您想将所有这些数据都整合到一个字符串中而不是打印,那么请使用与其他帖子中加入的字符串替换system.out.print。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM