AYUDA por fa... eliminar vocales seguidas
Buenas tardes a todos, tengo como tarea hacer un programa que elimine las vocales de una frase, menos la que estan al principio y final de cada palabra... es decir, baila a la orilla del rio debe arrojarme bla a la orlla dl ro. Yo hice un porgrama pero solo respeta la vocal que esta al final de la frase completa es decir: bl l rll dl ro....
Necesito una manito... Pienso que buscando cada palabra con indexOF y sub, entre cada espacio vacio y metiendola en un arreglo y luego chequeando caracter por caracter se resuelve... pero no recuerdo como introducirle a un arreglo la palabra...
POR FA.... Ayuda
Necesito una manito... Pienso que buscando cada palabra con indexOF y sub, entre cada espacio vacio y metiendola en un arreglo y luego chequeando caracter por caracter se resuelve... pero no recuerdo como introducirle a un arreglo la palabra...
POR FA.... Ayuda
Segun veo con tu programa ya respetas el final de la volcal. Por que no entonces primero separas las oracion en palabras y le aplicas lo que ya realizaste. Para separar las palabras puedes utilizar la clase StringTokenizer, fijate en el API para esta clase ahi viene como separarlas.
Suerte
Suerte
Bueno creo que lo que necesitas es algo asÃ:
public class EliminaCaracteres {
public static boolean esConsonante(char c) {
return Character.toLowerCase(c) != 'a' &&
Character.toLowerCase(c) != 'e' &&
Character.toLowerCase(c) != 'i' &&
Character.toLowerCase(c) != 'o' &&
Character.toLowerCase(c) != 'u';
}
public static String eliminarVocales(String cadena) {
String resultado = "" + cadena.charAt(0);
for (int i = 1; i < cadena.length() - 1; i++) {
if (esConsonante(cadena.charAt(i)))
resultado += cadena.charAt(i);
}
resultado += cadena.charAt(cadena.length() - 1);
return resultado;
}
public static void main(String[] args) {
String cadena = "hooolaaaa ee holaa holeeeee";
System.out.println(cadena);
cadena = eliminarVocales(cadena);
System.out.println(cadena);
}
}
Bueno eso es todo. Que te vaya bien. Hasta luego.
public class EliminaCaracteres {
public static boolean esConsonante(char c) {
return Character.toLowerCase(c) != 'a' &&
Character.toLowerCase(c) != 'e' &&
Character.toLowerCase(c) != 'i' &&
Character.toLowerCase(c) != 'o' &&
Character.toLowerCase(c) != 'u';
}
public static String eliminarVocales(String cadena) {
String resultado = "" + cadena.charAt(0);
for (int i = 1; i < cadena.length() - 1; i++) {
if (esConsonante(cadena.charAt(i)))
resultado += cadena.charAt(i);
}
resultado += cadena.charAt(cadena.length() - 1);
return resultado;
}
public static void main(String[] args) {
String cadena = "hooolaaaa ee holaa holeeeee";
System.out.println(cadena);
cadena = eliminarVocales(cadena);
System.out.println(cadena);
}
}
Bueno eso es todo. Que te vaya bien. Hasta luego.
pues yo lo que haria seria separar las palabras y analizarlas y luego volver a rejuntarlas xD:
String frase;
String resultado;
//separo las palabras
StringTokenizer st = new StringTokenizer(frase," ");
resultado = analizar(st.nextToken());
while (st.hasMoreTokens()) {
resultado = resultado + " " + analizar(st.nextToken());
}
//metodo auxiliar
public String analizar(String palabra) {
String res = "" + palabra.charAt(0);
for (int i=1;i<palabra.length-1;i++) {
if (palabra.charAt(i) != 'a' && palabra.charAt(i) != 'e' &&
palabra.charAt(i) != 'o' && palabra.charAt(i) != 'i' && palabra.charAt(i) != 'u') {
res = res + palabra.charAt(i);
}
return res + palabra.charAt(palabra.length()-1);
}
asi deberia de funcionarte, te puede dar algun fallo de sentaxis ya que no lo he compilado pero esa seria la idea, saludos y suerte
String frase;
String resultado;
//separo las palabras
StringTokenizer st = new StringTokenizer(frase," ");
resultado = analizar(st.nextToken());
while (st.hasMoreTokens()) {
resultado = resultado + " " + analizar(st.nextToken());
}
//metodo auxiliar
public String analizar(String palabra) {
String res = "" + palabra.charAt(0);
for (int i=1;i<palabra.length-1;i++) {
if (palabra.charAt(i) != 'a' && palabra.charAt(i) != 'e' &&
palabra.charAt(i) != 'o' && palabra.charAt(i) != 'i' && palabra.charAt(i) != 'u') {
res = res + palabra.charAt(i);
}
return res + palabra.charAt(palabra.length()-1);
}
asi deberia de funcionarte, te puede dar algun fallo de sentaxis ya que no lo he compilado pero esa seria la idea, saludos y suerte