0

配列を検索しようとしていますが、2 つの文字列が一致する場合は true を返し、それ以外の場合は false を返します。まず、アカウントが既に存在するかどうかを確認するために検索し、2 つの exsis が true を返す場合はコードを検索します。

public boolean searchArray(String account, String code) {    
    for (Accounts a : bAccounts) {
        if (a.getAccount().equals(account)) {
            for (Accounts c : bAccounts) {
                if (c.getCode().equals(Code))
                    return true;
                }
            }
        }

    return false;
}

この検索方法で少し迷子になったと思います。誰か助けてください。ありがとう。これはすべて正常にコンパイルされますが、何も返されないようです。Accounts クラスに get メソッドがあり、Account と Sort の get メソッドと set メソッドがあります。

4

2 に答える 2

1
public boolean searchArray(String account, String code) {    
    for (Accounts a : bAccounts) {
        if (a.getAccount().equals(account)
                  && a.getCode().equals(code)) {                
            return true;                    
        }
    }

    return false;
}

内側の for を削除する必要があります。

于 2012-04-24T15:26:04.583 に答える
0

アカウントとコードのパラメーターにnullを受け入れるかどうかについては言及していません。

null 値を比較することが可能/望ましい場合、これは私が提案するものです:

public boolean searchArray(String account, String code) {

    for (Account a : accounts) {
        if (account == null) {
            if (code == null) {
                if ((a.getAccount() == null) && (a.getCode() == null)) {
                    return true;
                }
            } else {
                if ((a.getAccount() == null) && code.equals(a.getCode())) {
                    return true;
                }
            }
        } else {
            if (code == null) {
                if (account.equals(a.getAccount()) && (a.getCode() == null)) {
                    return true;
                }
            } else {
                if (account.equals(a.getAccount()) && code.equals(a.getCode())) {
                    return true;
                }
            }
        }
    }

    return false;
}

アカウントとコード パラメータの null を考慮しない場合は、次のことをお勧めします。

public boolean searchArray(String account, String code) {
    // if you won't consider nulls then there's no need to search
    // when at least one of them is null
    if ((account == null) || (code == null)) {
        return false;
    }

    for (Account a : accounts) {
        if (account.equals(a.getAccount()) && code.equals(a.getCode())) {
            return true;
        }
    }

    return false;
}

それがあなたを助けることを願っています

于 2012-04-24T16:06:22.400 に答える