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: JuanMontaña en 22 de Noviembre 2015, 14:53
-
Saludos, se me presentó un problema a la hora de dar solucion a el ejercicio completo de la leccion CU00662B del curso de java. El código es:
import java.util.Scanner;
public class ComparadorLetraPorLetra
{
public static void main (String[]args){
System.out.println ("Inserta las dos cadenas a comparas");
String cadena1="";
String cadena2="";
Scanner entradaTeclado=new Scanner(System.in);
cadena1=entradaTeclado.nextLine();
cadena2=entradaTeclado.nextLine();
for (int i=0; i < cadena1.length() || i < cadena2.length(); i++)
{
if (cadena1.substring (i, i+1).equals(cadena2.substring (i,i+1)))
{
System.out.println("la letra"+" "+i+" "+"es igual en las dos cadenas ");
}
}
}
}
Este es el codigo hasta donde llevo bien el problema es que no se como hacer cuando una cadena es mas larga que la otra debido a que me arroja error. Esperaré por su ayuda. Muchas gracias
-
Buenos dias, antes del for, comprueba que cadena es mas CORTA que la otra, así no te dara error, es decir;
int cadenaMenor = cadena1.length();
if (cadena2.length() < cadena1.length()) { cadenaMayor = cadena2.length(); }
for (int i=0; i < cadenaMenor; i++)
{
if (cadena1.substring (i, i+1).equals(cadena2.substring (i,i+1)))
{
System.out.println("la letra"+" "+i+" "+"es igual en las dos cadenas ");
}
el resto hasta la cadena mayor , no seran iguales nunca por carecer de esos caracteres.
Saludos.
-
Perdona donde pone cadenaMayor = cadena2.length(); va cadenaMenor, supongo que mas o menos me entendiste la idea :)
Saludos.