Problemas con String
Publicado por gengiskaja (1 intervención) el 05/06/2012 00:53:28
Hola, estoy tratando de resolver un ejercicio. Consiste en averiguar si un string esta contenido dentro de otro. El codigo que armó compila bien pero cuando trato de ejecutarlo me tira el error: java.lang.StringIndexOutOfBoubdsException: Strting idex out of range: 8
Me pasa con varios programas donde uso Strings y no se que es lo que aplico mal.
Les dejo el código para el que tenga tiempo que lo vea. Gracias.
class S1_en_s2
{
private String str1;
private String str2;
S1_en_s2(String s1, String s2)
{
str1=s1;
str2=s2;
}
public boolean comparar()
{
for(int i=0; i<str1.length(); i++)
{
int cont=0;
for(int j=0; j<str2.length(); j++)
{
if(str1.charAt(i)==str2.charAt(j))
{
int k=i, l=j;
while(str1.charAt(k)==str2.charAt(l))
{
cont++;
k=++l;
}
}
if(cont==str2.length())
return true;
else
cont=0;
}
}
return false;
}
}
class S1_s2Main
{
public static void main(String args[])
{
S1_en_s2 obj=new S1_en_s2("Hola que tal como te va", "tal como");
if(obj.comparar())
System.out.println("Verdadero!!");
else
System.out.println("Falso!!");
}
}
Me pasa con varios programas donde uso Strings y no se que es lo que aplico mal.
Les dejo el código para el que tenga tiempo que lo vea. Gracias.
class S1_en_s2
{
private String str1;
private String str2;
S1_en_s2(String s1, String s2)
{
str1=s1;
str2=s2;
}
public boolean comparar()
{
for(int i=0; i<str1.length(); i++)
{
int cont=0;
for(int j=0; j<str2.length(); j++)
{
if(str1.charAt(i)==str2.charAt(j))
{
int k=i, l=j;
while(str1.charAt(k)==str2.charAt(l))
{
cont++;
k=++l;
}
}
if(cont==str2.length())
return true;
else
cont=0;
}
}
return false;
}
}
class S1_s2Main
{
public static void main(String args[])
{
S1_en_s2 obj=new S1_en_s2("Hola que tal como te va", "tal como");
if(obj.comparar())
System.out.println("Verdadero!!");
else
System.out.println("Falso!!");
}
}
Valora esta pregunta


0