Java - Problemas con String

 
Vista:

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!!");
}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problemas con String

Publicado por reyki (60 intervenciones) el 08/06/2012 17:59:22
que tal, mira si lo unico que necesitas es saber si una cadena contiene a otra, con el metodo contains de String te basta:

String cadena="comparando un valor";
String supuestaCadenaContenida = "un";


System.out.println( cadena.contains( supuestaCadenaContenida ) );

esto te devolvera un true o un false dependiendo del caso.

asi te evitar descomponer la cadena para revisar caracter por caracter.

saludos..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar