为什么这两个都是有效的解决方案?

时间:2018-02-09 18:41:43

标签: java

我的作业问题如下:

  

已创建二维3x3整数数组,并将其分配给tictactoe。如果第一行的元素都相等,则写一个值为true的表达式。

我的解决方案是:

tictactoe[0][1] == tictactoe[0][0] && tictactoe[0][0] == tictactoe[0][2]

虽然我的朋友是:

tictactoe[0][1] == tictactoe[0][1] && tictactoe[0][0] == tictactoe[0][2]

我只是想知道为什么这两种解决方案都是正确的,因为看起来他是多余的并且应该是错误的。

1 个答案:

答案 0 :(得分:0)

就像奥列格所说,你朋友的解决方案不正确,当第一行像

时会失败
3 4 3

检查是否[0] [1] == [0] [1],这将永远为真,然后如果[0] [0] == [0] [2],其中这种情况属实,但会给出错误的答案。

简而言之,当第一个和最后一个索引相同但不同于第二个索引时,您朋友的代码将失败。