Java - Una ayuda? programilla...

   
Vista:

Una ayuda? programilla...

Publicado por Edward (1 intervención) el 22/10/2008 21:43:54
Bueno primero me presento un poco, soy estudiante de informática de gestión (primer año) y tengo problemillas con la asignatura de programación (supongo que es al principio xD) al principio hacíamos programillas "chorras"de calcular números primos etc pero ahora me han pedido hacer una práctica no evaluable que consiste en programar en java lo siguiente:

El usuario nos introduce una secuencia de 4 letras (C,G,A,T) tan larga como él quiera y mezclando las letras siempre y cuando esté acabada en * (ejemplo: CGTAGTCCGCACGA*)

y el programa debe detectar las sub-secuencias CGA y decir cuántas hay (en el ejemplo anterior hay 2 sub secuencias GCA)

La cuestión es que sé que va un while (while (char != *) { ) es decir abrir un bucle para que vaya mirando letra por letra hasta llegar al asterisco, lo que me falla es que no sé como rellenar el bucle y me encuentre la sub secuencia. Si alguien me puede echar una mano se lo agradecería muchísimo porque de verdad voy algo perdidillo y el profe como que pasa de los alumnos bastante.



Muchas gracias!
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

RE:Una ayuda? programilla...

Publicado por Gerardo Aquino (62 intervenciones) el 23/10/2008 02:46:46
Puedes poner un contador inicial y utilizar indexOf(aBuscar), el indexOf(aBuscar) te retorna un indice en donde empieza la cadena aBuscar, es decir que para lo siguiente


String palabra = "aojbasjdajshdfkasjdhakaksdj*";

int indice = palabra.indexOf("jda");


el valor que toma el indice es 6 porque "jda" esta en la posicion 6 (toma en cuenta que en java los indices comienzan en 0

ahora despues lo que tienes que hacer es un substring desde el indice hasta la longitud de la cadena hasta que el indice sea -1, el valor -1 es cuando por ejemplo palabra.indexOf("jda"); no encuentra la cadena, en pocas palabras: si encuentra el indexOf una coincidencia te retorna la posicion, en caso contrario retorna -1

lo demas es un poco de estructura y no es dificil, consejo: usa indexOf y substring, ambos metodos son de la clase String


éxito!!!
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