我试图找出下面的代码,而且我在下面的三元运算符上遇到了问题。
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]));
}
答案 0 :(得分:3)
是的,你的“这是对的吗?”是正确的。它只是删除了一些空白区域,因此很难搞清楚它。我认为你的第二个陈述也是正确的。在方法参数中加入三元组是 BAD IDEA™。
答案 1 :(得分:3)
是的,这是对的。你刚刚将多行语句写成一行,没有任何区别 - 添加/删除空白区域没有任何效果。是的,使用if/else
的扩展版本是等效的。你为什么不测试你的代码,看看它确实正常工作?