0

文字列内の文字を検索したい。文字が見つかった場合は、char_counter に 1 を追加します。どうすればこれを実装できますか?

例:

int char_counter = 0;
String password = "1234";
String search = "1234";
for(int i = 0; i < password.length() - 1; i++) {
    for(int j = 0; j < search.length() - 1; j++) {
        //This is just pseudo code since I don't know how to properly search a string
        if(password[i] == search[j]) {
            char_counter = char_counter + 1;
        }
    }
}
4

4 に答える 4

1

最初に、次のように toCharArray() メソッドを使用して、文字列を文字の配列に変換できます。

Char[] pass = password.toCharArray();
Char[] sear = search.toCharArray();

そして、Java「等しい」によって提供される比較のいずれかを使用します。「含む」。もちろん for(string x: pass) の中にあります。または、カウンター ++ を使用した for ループ

于 2014-02-25T04:41:54.610 に答える
1

あなたの疑似コード:
password[i]

次のようにする必要があります。

password.charAt(i)

結果:

if(password.charAt(i) == search.charAt(j)){ 
    char_counter = char_counter + 1;
}
于 2014-02-25T04:24:56.543 に答える
1

これを試して..

password[i]このJavaが配列として使用される場合は、使用する必要があります

password.charAt(i)search.charAt(j)

そして、条件を.equalsとして使用する必要があります

if(password.charAt(i).equals(search.charAt(i))){ 
    char_counter = char_counter + 1;
}

いいえpassword[i] == search[j]

==常に 2 つの参照を比較するだけです(非プリミティブの場合)。つまり、2 つのオペランドが同じオブジェクトを参照しているかどうかをテストします。

ただし、equalsメソッドはオーバーライドできるため、2 つの異なるオブジェクトが等しい可能性があります......リンク

于 2014-02-25T04:28:51.560 に答える