[英]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.