Java - Nec. Ayuda...

 
Vista:

Nec. Ayuda...

Publicado por Rodrigo (5 intervenciones) el 22/11/2007 04:42:10
Hola necesito ayuda porque tengoque escribir "un método que, dada una cadena de texto recibida como parámetro, devuelva el número total de palabras que la componen, Tener en cuenta los espacios y demas caracteres separadores (comas, puntos, etc."

Bueno ese es el "enunciado" de lo que necesito y lo que transcribo a continucaión lo que pude hacer :

"public class ContPalabras {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int longitud = args.length;
//char letra;
//System.out.println( (int) letra );
for (int i = 0; i < longitud; i++)
{
String s = args[i];
for (int j = 0; j < s.length(); j++)
{
char a = s.substring(j,j+1);
if (a=)
}
}
System.out.println(longitud);
}

}"
Lo que yo pense es que si hay una coma luego de una palabra y entre esa coma y la palabra que sigue no hay espacio (por un error de tipeo por ejemplo) necesito una manera de que al recorrer la cadena tenga un método para identificar ese caracter (que podria ser una , ; ¿? Etc) y me cuente esas palabras. Pense en utilizar el codigo ASCII pero ni idea..
Espero se entienda lo que quiero hacer y desde ya muchas gracias.
(Demas esta decir que soy un principiante total... )
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:Nec. Ayuda...

Publicado por Luis (3 intervenciones) el 22/11/2007 15:36:24
FileReader f = new FileReader();
BufferedReader br = new BufferedReader(new File());


int numWords=0;

do {
line = in.readLine();
if (line != null)
{
int index=0;
//variable que representa el primer caracter
boolean beforeWhitespace=true;
//booleano que controla los espacios en blanco

//Recorro el fichero
while(index < line.length())
//mientras que el caracter inicial sea menor que el fin de fichero
{
//leo el caracter
char c=line.charAt(index++);

//compruebo si el caracter leido es un espacio en blanco
boolean currentWhitespace=Character.isWhitespace(c);

//en caso de que no sea espacio en blanco es una palabra
if(beforeWhitespace && !currentWhitespace)
{
numWords++;
}

beforeWhitespace=currentWhitespace;
//actualizo la posicion logica del caracter
//para comprobar si es espacio en blanco.

}

}
}
while (line != null);

Adapta esto, porque esto es para leer de un fichero.
De todas formas te mando el link de una pagina muy buena:

http://schmidt.devlib.org/java/word-count.html#source
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

RE:Nec. Ayuda...

Publicado por Rodrigo (5 intervenciones) el 23/11/2007 12:50:46
Gracias, ahora lo veo y me fijo si lo puedo adaptar. Igual gracias por la respuesta.
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