RE:Operaciones con cadenas
Hola. Para leer desde el teclado te dejo una direccion que en la cual se explica sobre ese tema
http://www.mailxmail.com/curso/informatica/java/capitulo50.htm
int posicion = CADENA2.indexOf(CADENA1);
Sobre el tema de comparar dos cadenas, podrias utilizar el metodo indexOf de la clase String. este método lo que hace es devolver el indice de la posicion en la que se encuentra la cadena CADENA1 por primera vez en la cadena CADENA2. Si la cadena CADENA1 no se encuentra en la cadena CADENA2, devuelve -1.
Lo que tendrias que hacer es un metodo que busque recursivamente la cadena CADENA1 y utilizar en algun momento el metodo indexOf. Bueno cualquier cosa pregunta