所以我有一个类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
的结果。)这只是一个示例板,大小可以变化,但边界是我想要实现的。
答案 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。