Hola.
El ejercicio es correcto.
Otra forma de hacerlo podría ser:
import java.util.Scanner;
public class Comparador1{
public static void main(String[] args){
Scanner entradaScanner= new Scanner(System.in);
String cadena1= "";
String cadena2= "";
//Se obtienen los valores de cadena1 y cadena2.
System.out.print("Introdusca la primera cadena: ");
cadena1= entradaScanner.nextLine();
System.out.print("Introdusca la segunda cadena: ");
cadena2= entradaScanner.nextLine();
System.out.println("Se recibe \"" + cadena1 + "\" y \"" + cadena2 + "\".");
System.out.println("Comparacion:\n");
for(int i= 0; i < cadena1.length() || i < cadena2.length(); i++){
System.out.print("¿Caracter "+(i+1)+" igual en ambos?: ");
if(i+1 > cadena2.length() || i+1 > cadena1.length()){
String cadena="1";
if(i+1 > cadena2.length()){cadena="2";}
System.out.println("Cadena "+cadena+" no tiene "+(i+1)+" cáracter.");}
else{ boolean comparacion=true;
if(!cadena1.substring(i, i+1).equals(cadena2.substring(i, i+1))){
comparacion=false;
}
System.out.println(comparacion);
}
}
}
}
Un saludo