Me deparei com um exercício onde pedia para que eu criasse um programa que lesse primeiramente, um inteiro que me dissese a quantidade de pares de inteiros que eu desejaria comparar, e em segundo estes pares, para assim, verificar se o segundo inteiro de um par corresponde aos ultimos digitos do primeiro.
Meu código foi o seguinte:
public static void main(String[] args) throws Exception {
Scanner scan = new Scanner(System.in);
int count = scan.nextInt();
for (int i = 0; i < count; i++) {
int a = scan.nextInt(); int b = scan.nextInt();
//transformar os inteiros em String.
String aString = "" + a;
String bString = "" + b;
//contar a quantidade de caracteres de cada string.
long tamanhoBL = bString.chars().count();
long tamanhoAL = aString.chars().count();
//transformar a quantidade em int afim de usar na função substring.
int tamanhoB = (int) tamanhoBL;
int tamanhoA = (int) tamanhoAL;
if (tamanhoA >= tamanhoB) {
// pegar tamanhoB últimos digitos de a e verificar se b é equivalente aos últimos digitos de a.
if (aString.substring(tamanhoA - tamanhoB, tamanhoA).contains(bString)) {
System.out.println("encaixa");
}else {
System.out.println("nao encaixa");
}
}else {
System.out.println("nao encaixa");
}
}
}
Porém, se no segundo if eu substituir o ".contains" por "==", onde verificaria se a substring de a, é igual à b, o programa me diz que todos não encaixam.
Qual seria o motivo?