Como verificar se duas Cadeia Arrays são os mesmos

RedYoel:

Estou tentando resolver um problema em "praticá-la", e eu não sou capaz de passar todos os testes a ele.

O problema é:

Escrever um método chamado iguais que leva em duas matrizes de cadeia e retorna true se eles são iguais; isto é, se ambas as matrizes têm o mesmo comprimento e contêm valores de cadeia equivalentes em cada índice.

Eu tentei o código a seguir, mas o teste para a entrada equals({"a", "b", "a", "c", "a", "d", "a", "e", "a"}, {"x", "b", "a", "c", "a", "d", "a", "e", "a"}), mas ele não funciona.

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;
}

Retorno esperado: falseMeu retorno:true

UnholySheep:

As mentiras de problema no loop:

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

O ifé executado para cada elemento, portanto, em essência seu único código verifica se o último elemento é o mesmo para ambas as matrizes, já que isso sobrepõe anteriores result = false;ocorrências.

A solução correta é parar e retornar imediatamente falseuma vez um único elemento é diferente:

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

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=231988&siteId=1
Recomendado
Clasificación