如果if语句只适用于循环中的所有i,我怎么能使if语句成立?

时间:2017-10-11 20:44:58

标签: java for-loop

我有一个连续整数的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。

4 个答案:

答案 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