AYUDA por fa... eliminar vocales seguidas

sasha13
15 de Agosto del 2005
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

Jorge
15 de Agosto del 2005
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

rubece
15 de Agosto del 2005
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.

fady
15 de Agosto del 2005
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