当我遇到一些我以前从未见过的语法时,我正在查看数独求解算法。
我感到困惑的是
System.out.print(solution[i][j] == 0 ? " " : Integer.toString(solution[i][j]));
我不明白问号的含义或问号后面的任何内容。这条线是方法的一部分
static void writeMatrix(int[][] solution) {
for (int i = 0; i < 9; ++i) {
if (i % 3 == 0)
System.out.println(" -----------------------");
for (int j = 0; j < 9; ++j) {
if (j % 3 == 0)
System.out.print("| ");
System.out.print(solution[i][j] == 0 ? " " : Integer.toString(solution[i][j]));
System.out.print(' ');
}
System.out.println("|");
}
System.out.println(" -----------------------");
}
我从http://www.colloquial.com/games/sudoku/java_sudoku.html得到了这段代码。任何解释将不胜感激!