为什么我的循环没有结束?

时间:2015-12-08 14:50:16

标签: java

此方法测试accountnumber是否在给定数组中

public boolean containsAccount(int accountNumber) {
  int i;
  boolean ausgabe = false;
    for (i = 0; i < allAccounts.length; i++) {
        if (allAccounts[i].getAccountNumber() == accountNumber) {
            ausgabe = true;
        }
        else if (i == length() - 1) {
            ausgabe = false;
        }
    }
    return ausgabe;
}

预计会返回true或false,但它似乎是一个无休止的循环,不会重新出现。

1 个答案:

答案 0 :(得分:0)

试试这个

public boolean containsAccount(int accountNumber) {
    for (int i = 0; i < allAccounts.length; i++) {
        if (allAccounts[i].getAccountNumber() == accountNumber) {
            return true;
        }
    }

    // If the execution flow reaches this line, then that
    // means that the account 'id' does not exist in the array
    return false; 
}

更清洁,更少变量和更多可以轻松检测代码中的实际问题。 (可能是allAccounts数组或accountNumber

的内容