Использование java для подсчета пробелов в предложении, но возвращает только начальное значение

#java #methods #char

#java #методы #символ

Вопрос:

Я попытался написать код для подсчета слов предложения (фактически считая пробел между предложениями). Но он всегда возвращает 1 (начальное значение). У вас есть какие-либо идеи? Спасибо!

 import java.util.*;
import java.util.Scanner;
public class CountingWords22
{

public static int countWords(String str)
{
    int count = 1;

    for (int i = 0; i < str.length(); i  )
    {
        char ch = str.charAt(i);
        if (ch == ' ')
        {
            count  ;
        }
    }
    return count;
}

public static void main()
{   System.out.println("enter your words");
    Scanner input = new Scanner(System.in);

    String test = input.next();
    System.out.println(test   " has "   countWords(test)   " words." );
}

}
 

Комментарии:

1. Scanner.next() читает до первого пробела, т.е.. одно слово. Вы, вероятно, хотите nextLine .

2. ДА. Никогда не будет строки, доступ к Scanner.next() которой содержит a " " .

3. большое вам спасибо!! это работает!!