Proyecto de Estructura de Datos
Proyecto de Estructura de Datos
Proyecto de Estructura de Datos
INTRODUCCIN
Muchas de las operaciones bsicas con cadenas (String's) cuando estamos aprendiendo a programar son las operaciones con las palabras en una cadena, problemas como: contar cuantas palabras tiene una cadena, eliminar la k-sima palabra, invertir todas las palabras, etc. Ahora mostraremos los algoritmos de problemas clsicos resueltos de una forma nativa, ya que sabemos que Java tiene una infinidad de mtodos en la clase String para manejar cadenas, pero haremos uso de las 3 mas bsicas que son: length() retorna el numero de caracteres de una cadena (String) charAt(posicion) retorna un carcter (char) de la posicion en la cadena. substring(inicio, fin) retorna una subcadena extrada de una cadena dada la posicin de inicio y fin. Con estos mtodos bsicos podemos hacer cualquier operacin con cadenas (String's) adems de ayuda podemos utilizar tambin el mtodo trim() que elimina todos los espacios (carcter espacio) de adelante y del final de una cadena. Bien, ahora entremos en tema, lo primero que tenemos que saber es como detectar una palabra, de la forma mas sencilla una cadena puede ser "Hola amigos espero que estn bien" que tiene 6 palabras, ademas observen que tiene 5 caracteres espacio, entonces podramos decir que para detectar palabras nos enfocaremos en los espacios
Ejercicio # 1
1 2 3 4 5 6 7 8 9 10 public static int contarPalabras(String cadena) { cadena += " "; int c = 0; for (int i = 0; i < cadena.length(); i++) { if (cadena.charAt(i) == ' ') { c++; } } return c; }
Ejercicio # 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public static String eliminarPalabra(String cadena, int k) { cadena += " "; String nuevaCadena = ""; int c = 0; String palabra = ""; for (int i = 0; i < cadena.length(); i++) { palabra += cadena.charAt(i); if (cadena.charAt(i) == ' ') { c++; if (c != k) { nuevaCadena += palabra; } palabra = ""; } } return nuevaCadena.trim(); }