es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Alguien puede ayudarme a descubrir qué está mal con mi código de WhiteSpaceCounter?

Necesito un programa que cuente los espacios en blanco en un documento de texto, pero sigue dando un número insano de espacios en blanco, como creo que el bucle while simplemente se repite. ¿Alguien podría leerlo y decirme qué sucede?

import java.io.*;
public class WhiteSpaceCounter {
public static void main(String[] args) throws IOException {
File file = new File(“excerpt.txt”);
FileInputStream fis = new FileInputStream(file);
InputStreamReader inreader = new InputStreamReader(fis);
BufferedReader reader = new BufferedReader(inreader);
String sentence;
int countWords = 0, whitespaceCount = 0;
while((sentence = reader.readLine()) != null) {
String[] wordlist = sentence.split(“\s+”);
countWords += wordlist.length;
whitespaceCount += countWords -1;
}
System.out.println(“El número total de espacios en blanco en el archivo es: ”
+ whitespaceCount);
}

}

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema es que estás contando los espacios en blanco entre palabras varias veces. Solo deberías contar los espacios en blanco una vez por línea. Para solucionarlo, puedes cambiar la línea whitespaceCount a:

    whitespaceCount += sentence.length() - wordlist.length;

Comments are closed.