识别并转换三元运算符以更正if语句

时间:2013-05-23 16:25:19

标签: java sudoku ternary

我试图找出下面的代码,而且我在下面的三元运算符上遇到了问题。

            System.out.print(solution[i][j] == 0
                    ? " "
                    : Integer.toString(solution[i][j]));

这是对的吗?

System.out.print(solution[i][j] == 0 ? " " : Integer.toString(solution[i][j]) );

上述陈述可以用

表示
            if (solution[i][j] == 0) {
                System.out.print(" ");

            } else {
                System.out.print(Integer.toString(solution[i][j]));
            }

2 个答案:

答案 0 :(得分:3)

是的,你的“这是对的吗?”是正确的。它只是删除了一些空白区域,因此很难搞清楚它。我认为你的第二个陈述也是正确的。在方法参数中加入三元组是 BAD IDEA™

答案 1 :(得分:3)

是的,这是对的。你刚刚将多行语句写成一行,没有任何区别 - 添加/删除空白区域没有任何效果。是的,使用if/else的扩展版本是等效的。你为什么不测试你的代码,看看它确实正常工作?