Сколько слов в каждом предложении файла на основе этого кода Java - PullRequest
0 голосов
/ 24 марта 2020

Мне нужно посчитать, сколько слов в каждом предложении файла на основе этого кода. У нас есть файл с именем archivo:

File archivo = null;
try {

     archivo = new File("Text.txt");
     String line;
     FileReader fr = new FileReader (archivo);
     BufferedReader br = new BufferedReader(fr);

     int i,a=0;

     while((linea=br.readLine())!=null) {

         for(i=0;i<line.length();i++){

             if(i==0){

                 if(line.charAt(i)!=' ')

                     a++;
             }else{

                 if(line.charAt(i-1)==' ')
                    if(line.charAt(i)!=' ')     
                        a++;

             }  
         }
     }

Здесь мы печатаем количество слов, но мне также нужно количество слов в предложении

     System.out.println("There are "+a+" words");

     fr.close();

     }catch(IOException a){

     System.out.println(a);

     }
    }
}   

text.txt говорит:

привет, я Кэти и у меня две кошки.

1 Ответ

0 голосов
/ 24 марта 2020

Сделайте это следующим образом:

String line;
int count=0, totalCount=0;
while((line=br.readLine())!=null) {
    count = line.split("\\s+").length;
    System.out.println("The number of words in '" + line + "' is: " + count);
    totalCount += count;
}
System.out.println("The total number of words in the file is " + count);

Объяснение: String :: split Функция разбивает строку на массив строк на основе указанного регулярного выражения. Регулярное выражение \\s+ означает один или несколько пробелов. Для каждой строки программа печатает count, то есть количество слов (которое является длиной результирующего массива после разделения), а также добавляет его к totalCount. В конце программа печатает totalCount (общее количество слов в файле).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...