Foros aprenderaprogramar.com
		Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Magore en 12 de Junio 2023, 18:15
		
			
			- 
				Buenas tardes.
 
 Adjunto código con mi propuesta de solución para el ejercicio (CU00662B).
 
 Lo he resuelto haciendo uso de dos clases y, aunque a mí me ha funcionado, seguramente hay formas más simples, e incluso más 'elegantes', de resolverlo.
 
 Agradecería las observaciones que queráis hacerme al respecto.
 
 import java.util.Scanner;
 
 public class PalabraIntroducida {
 private String entradaTeclado;
 
 // Constructor:
 public PalabraIntroducida () {
 entradaTeclado = "";
 pedirEntrada();
 }
 
 // Método que lee la entrada del teclado:
 public void pedirEntrada() {
 Scanner entradaEscaner = new Scanner (System.in);
 entradaTeclado = entradaEscaner.nextLine();
 }
 
 // Getters:
 public int getLongitud() {
 return entradaTeclado.length();
 }
 public String getLetra (int i, int j) {
 return entradaTeclado.substring (i,j);
 }
 }
 public class CompararPalabras {
 
 public static void main (String [] args) {
 // Solicitamos la introducción de las palabras a comparar:
 System.out.println ("Por favor, introduzca la palabra 1: ");
 PalabraIntroducida entrada1 = new PalabraIntroducida();
 System.out.println ("Por favor, introduzca la palabra 2: ");
 PalabraIntroducida entrada2 = new PalabraIntroducida();
 
 // Determinamos las longitudes de las palabras introducidas:
 int longitudPalabraGrande = 0;
 int longitudPalabraPequenia = 0;
 String palabraMenor = "";
 
 if (entrada1.getLongitud() > entrada2.getLongitud()) {
 longitudPalabraGrande = entrada1.getLongitud();
 longitudPalabraPequenia = entrada2.getLongitud();
 palabraMenor = "La palabra 2 ";
 } else if (entrada1.getLongitud() < entrada2.getLongitud()) {
 longitudPalabraGrande = entrada2.getLongitud();
 longitudPalabraPequenia = entrada1.getLongitud();
 palabraMenor = "La palabra 1 ";
 } else {
 longitudPalabraGrande = longitudPalabraPequenia = entrada1.getLongitud();
 }
 
 // Realizamos la comparación hasta la longitud de la palabra menor:
 for (int i=0; i<longitudPalabraPequenia; i++) {
 boolean comparacion = (entrada1.getLetra (i, i+1).equals (entrada2.getLetra (i, i+1)));
 {
 System.out.println ("¿Letra " + (i+1) + " igual en las dos palabras? " + comparacion);
 }
 }
 
 // Finalizamos la salida por pantalla hasta el tamaño de la palabra mayor:
 for (int i=longitudPalabraPequenia+1; i<=longitudPalabraGrande; i++) {
 System.out.println (palabraMenor + "no tiene letra " + i);
 }
 }
 }
 Un saludo.
- 
				La solución parece correcta.
 
 Crear esa clase no era estrictamente necesario, pues en realidad no hace nada que no pueda hacer directamente la clase String.
 
 Sin embargo, al estar en proceso de aprendizaje, está bien para ampliar la práctica y siempre es bueno explorar soluciones distintas, sean óptimas o no.
 
 Es fantástico ver a alguien con estas ganas de aprender  ;)
 Saludos.