我有一个二维布尔数组’poorSignal’,需要编写一个返回网格的方法,如果数组上的某个点为true,则显示X,如果为false,则显示O。这是我的代码:
public String display() { for(int i = 0; i < mapSize; i++) { for(int j = 0; j < mapSize; j++) { if(poorSignal[i][j] = true) { return "O "; } else { return "X "; } } return "\n"; } }
当我编译时,它在方法的最后一行给出了“丢失的返回语句”。我也不确定在打印数组时’return“ \ n”是否可以添加新行。
这是一个分配问题,所以我不能直接打印它,也不能仅打印布尔值-它必须是产生网格的方法。
编译器无法知道该循环是否真正运行,因此,您还必须在外部循环之外具有return语句。
但是然后,如果我查看您的代码,则不确定返回是否是您真正想要的。如果您打算打印整个矩阵,则可能要使用StringBuilder,然后在循环内使用append方法。在外部循环之后,使用toString方法返回构建器的字符串表示形式,如下所示:
StringBuilder sb = new StringBuilder(); // loop sb.append(someValue); sb.append('\n'); // after loop return sb.toString();