Получение неожиданного результата для конкретного случая
import java.util.Scanner; public class WordCount { public static void main(String args[]) { String text; int countWords=0; Scanner SC=new Scanner(System.in); System.out.print("Enter string: "); text=SC.nextLine(); //word count for(int i=0; i<text.length()-1; i++) { if(text.charAt(i)==' ' && text.charAt(i+1)!=' ') countWords++; } System.out.println("Total number of words in string are: "+ (countWords+1)); //since last word does not contain and character after that } }
Что я уже пробовал:
У меня есть приведенный выше код для подсчета количества слов в строке.
2 случая, которые я пробовал:
корпус 1 :
Enter string: hello java Total number of words in string are: 2
случай 2 :
Enter string: hello java Total number of words in string are: 3
Случай 1 дает ожидаемый ответ. Но для случая 2 я вставил пробелы в начале и между словами. Я получил результат 3, но ожидал, что будет 2 .
В соответствии с логином счетчик должен быть увеличен, если текущий символ-пробел, а следующий-не пробел. Кто-нибудь может это объяснить?