我正在尝试为一块纸板制作一个toString。 当我尝试编译时,我被告知“此处不允许使用void类型”,它指出了这一行:
visualBoard = visualBoard + row + System.out.println();
这是最后的整个方法。
/**
Makes a visual representation of the board.
@param game board
@return String visual of the board.
*/
@Override
public String toString()
{
String visualBoard = "";
//For loop for each spot on board
for(int r = 0; r < 3; r++){
String row = "";
for(int c = 0; c < 4; c++){
//Adding the board square to the current string.
BoardSquare current = board.get(r).get(c);
row += current.getCard(r,c).toString() + "_";
}
visualBoard = visualBoard + row + System.out.println();
}
return visualBoard;
}
我真的很困惑为什么他们告诉我row是一个void类型,因为我确实在其中放了一个字符串。有什么想法吗?
答案 0 :(得分:1)
void
表示没有返回值。
System.out.println
无效,因此不会返回值。
因此+
没有任何要添加的内容,编译器会抱怨。
答案 1 :(得分:0)
此行不正确:
visualBoard = visualBoard + row + System.out.println();
System.out.println()不会向其调用者返回字符串值,其返回类型为void。它只是在stdout流上打印任何字符串参数。这就是你得到这个错误的原因。
如果你想将一个空字符串连接到某个东西,这就是这样做的方法:
visualBoard = visualBoard + row + "";