2つの文字列配列が同じであるかどうかを確認する方法

RedYoel:

私は「それを実践」の問題を解決しようとしている、と私はそれにすべてのテストに合格することができませんよ。

問題は:

2つの文字列の配列を取り込み、それらが等しい場合はtrueを返しイコールというメソッドを書きます。両方の配列は同じ長さを有し、各インデックスに等価文字列値を含む場合には、です。

私は、入力に次のコードが、テストを試してみましたequals({"a", "b", "a", "c", "a", "d", "a", "e", "a"}, {"x", "b", "a", "c", "a", "d", "a", "e", "a"})が、それは動作しません。

public static boolean equals (String [] txt1, String [] txt2){
    boolean result=false;
    if(txt1.length==txt2.length){
        for(int i=0; i<txt1.length; i++){
            if(txt1[i].equals(txt2[i])){
                result = true;
            }
            else {
                result = false;
            }
        }
    }
    else {
        return false;
    }
    return result;
}

期待リターン:false私のリターン:true

UnholySheep:

ループ内で問題の嘘:

for(int i=0; i<txt1.length; i++){
    if(txt1[i].equals(txt2[i])){
         result = true;
    }
    else {
         result = false;
    }
}

ifそれは以前よりも優先されますと最後の要素は、両方の配列に同じであれば、あなたのコードのみのチェックはとても本質的には、一つ一つの要素に対して実行されますresult = false;出現を。

正しい解決策はすぐに停止し、復帰することでfalse、単一の要素が異なるたら:

for(int i=0; i<txt1.length; i++){
    if(txt1[i].equals(txt2[i])){
         result = true;
    }
    else {
         return false;
    }
}

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=231989&siteId=1
おすすめ