Java 数独:将int值显示为空格
我是java编程的新手,创建了一个基于控制台的数独游戏作为练习。一种回溯算法生成一个完整的数独,另一种方法根据难度在随机单元中“挖洞”。现在,空白单元格的值为0,但我不喜欢数独游戏的外观。它在黑板上的数字太多了,我认为空白是一个很好的选择。然后,玩家应该仍然能够用自己的猜测替换现在的“0”,稍后单元格中的空白。 有没有办法在int值为0时替换它?该算法和digHole方法都在二维阵列坐标上使用了setValue方法 谢谢你的帮助 这是我的黑板图:Java 数独:将int值显示为空格,java,int,whitespace,sudoku,Java,Int,Whitespace,Sudoku,我是java编程的新手,创建了一个基于控制台的数独游戏作为练习。一种回溯算法生成一个完整的数独,另一种方法根据难度在随机单元中“挖洞”。现在,空白单元格的值为0,但我不喜欢数独游戏的外观。它在黑板上的数字太多了,我认为空白是一个很好的选择。然后,玩家应该仍然能够用自己的猜测替换现在的“0”,稍后单元格中的空白。 有没有办法在int值为0时替换它?该算法和digHole方法都在二维阵列坐标上使用了setValue方法 谢谢你的帮助 这是我的黑板图: public static void drawB
public static void drawBoard() {
String[] abc = { "A", "B", "C", "D", "E", "F", "G", "H", "I" };
// i := rows
for (int i = 0; i <= 8; i++) {
// first row
if (i == 0) {
System.out.println("");
// coordinates 1-9
System.out.println(" 1 2 3 4 5 6 7 8 9\n" + " _____________________________________ \n"
+ " | |");
}
// j := columns in row i
for (int j = 0; j <= 8; j++) {
if (j == 0) {
// coordinates A-I and first column
System.out.print(" " + abc[i] + " | " + sudokuCells[i][j].getValue() + " ");
} else if (j == 8) {
// last cell in current row
System.out.print(" " + sudokuCells[i][j].getValue() + " |");
System.out.println("");
} else if (j == 2 || j == 5) {
//frame
System.out.print(" " + sudokuCells[i][j].getValue() + " |");
} else {
//whitespace as seperation
System.out.print(" " + sudokuCells[i][j].getValue() + " ");
}
}
// last row with frame
if (i == 8) {
System.out.println(" |_____________________________________|");
System.out.println();
}
为什么不将其设置为:
" "
这应该可以解决问题,也许还可以发布一个代码示例?我建议保持逻辑表示形式与现在的0相同,并且在遇到0时只打印一个空格,因此您只需修改打印电路板的函数 比如像这样
for(int i = 0; i < board.length; i++)
{
for(int j = 0 j < board.length; j++)
{
Cells curr = board[i][j];
if(curr.getValue() == 0)
System.out.print(" ");
else
System.out.print(curr.getValue())
}
System.out.println()
}
你有没有代码让我们知道你是如何实现它的?在显示例程中一个简单的if就足够了。ifdata[x][y]==0{display}使用您用于显示的任何方法替换display,并使用数据源替换数据。我们不关心您的生成代码,只需更改将数独打印到控制台的方法即可。