如何将字符串添加到2d对象数组?

时间:2015-12-07 11:31:04

标签: java arrays multidimensional-array tostring

所以我有一个类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()方法,将棋盘转换为字符串并返回它。我已经为toString()类提供了Cell方法,该方法返回该单元格的状态(在本例中为黄色,红色或空白)。

如何让这个方法返回一个字符串,不仅以字符串形式显示每个单元格,而且还用框架围绕它?我已经去了,但我迷路了。它应该是这样的:

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

句点(。)是Cell个对象是&#34;空的&#34; (在toString()上使用Cell的结果。)这只是一个示例板,大小可以变化,但边界是我想要实现的。

3 个答案:

答案 0 :(得分:1)

所以你想要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;
    }
}

那应该有用

答案 1 :(得分:0)

如果问题得到解决,那么这应该是答案。

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;
    }

答案 2 :(得分:0)

老兄,你想要做的事情非常简单,你可以自己轻松搞清楚 - 你不需要任何额外的知识和特殊代码,而不是你已经展示过的东西。 你永远不会去(请注意,它不是代码 - 只是一个例子):

//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
}

编辑:我的不好 - &gt;如果你想把所有这些数据都写成一个字符串而不是打印,那么用其他帖子中的字符串替换system.out.print。