我有一个连续整数的2D数组。我的代码应测试一行中的整数是否全部按顺序排列。我想编写一个if语句,只有当它对循环中的所有i和j都为真时才计算为true。
for(int i=0; i<4;i++) {
for(int j=0; j<13;j++) {
if(board[i][j]+1 == board[i][j+1]) {
return true;
}
}
}
同样,如果整个循环条件为真,则if语句应仅计算为true。
答案 0 :(得分:2)
您可以改为检查不等式并返回false。如果你在循环中完成所有操作而不返回false,则返回true。
答案 1 :(得分:2)
for(int i=0; i<4;i++) {
for(int j=0; j<13;j++) {
if(board[i][j]+1 != board[i][j+1]) {
return false;
}
}
}
return true;
答案 2 :(得分:1)
为什么不使用布尔变量。如果在def test_default_value_is_the_same_object
hash = Hash.new([])
hash[:one] << "uno"
hash[:two] << "dos"
assert_equal ["uno", "dos"], hash[:one] #why not ["uno"]?
assert_equal ["uno", "dos"], hash[:two] #why not ["dos"]?
assert_equal ["uno", "dos"], hash[:three] #why not []?
assert_equal true, hash[:one].object_id == hash[:two].object_id
end
def test_default_value_with_block
hash = Hash.new {|hash, key| hash[key] = [] }
hash[:one] << "uno"
hash[:two] << "dos"
assert_equal ["uno"], hash[:one]
assert_equal ["dos"], hash[:two]
assert_equal [], hash[:three]
end
和i
的任何迭代中都不满足条件,则反转变量的值,一旦for循环结束,检查变量?
答案 3 :(得分:0)
for(int i=0; i<4;i++) {
for(int j=0; j<13;j++) {
if(board[i][j]+1 != board[i][j+1]) { // if any item is not the same
return false;
}
}
}
return true; // if we get here, all items were the same