Como comparar 2 strings caracter por caracter

2 respostas
L

Estou precisando comparar 2 strings, mas preciso que seja comparado caracter a caracter, as duas strings terão o mesmo tamanho e serão em binário, exemplo

String A = "0110000101100010";
String B = "0111100001101001";

eu preciso comparar o primeiro caracter da string A com o primeiro da string B, segunda da A com o segundo da B e assim sucessivamente até o final, já tentei de várias forma sem sucesso.

2 Respostas

Marcus_Gp

Boa tarde, você tem um jeito de transformar as strings em arrays de char.
Vamos lá então:

String a = "0110000101100010";
String b = "0111100001101001";

char[] aArray = a.toCharArray();
char[] bArray = b.toCharArray();

System.out.println(compararArray(aArray, bArray));

private static boolean compararArray(char[] aArray, char[] bArray) {
    for(int i = 0; i < aArray.length; i++) {
        if(aArray[i] != bArray[i]) {
            return false;
        }
    }
    return true;
}

Nesse caso, o primeiro char que ele encontrar divergente entre os dois arrays ele retorna false. Você pode alterar esse método como achar melhor.

L

Legal, eu acabei fazendo diferente, ainda não testei na sua totalidade pra ver se está 100%

private String compararStr(String a, String b) {
    String texto = "";
    for (int i = 0; i < 64; i++) {
        if (a.charAt(i) == b.charAt(i)) {
            texto += "0 ";
        } else {
            texto += "1";
        }
    }
    return texto;
}

mas o seu será de grande ajuda, valeu!

Criado 23 de agosto de 2016
Ultima resposta 23 de ago. de 2016
Respostas 2
Participantes 2