Я полагаю, что для того, чтобы подсчитать количество слов в предложении, я использую методы. Я написал этот код, и я не совсем уверен, почему он не работает. Неважно, что я пишу, я получаю только 1 слово. Если бы вы могли сказать мне, как исправить то, что я написал, а не дать мне совершенно другую мысль, что было бы здорово:Java Beginner - подсчет количества слов в предложении
import java.util.Scanner;
public class P5_7
{
public static int countWords(String str)
{
int count = 1;
for (int i=0;i<=str.length()-1;i++)
{
if (str.charAt(i) == ' ' && str.charAt(i+1)!=' ')
{
count++;
}
}
return count;
}
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Enter a sentence: ");
String sentence = in.next();
System.out.print("Your sentence has " + countWords(sentence) + " words.");
}
}
Как это работает? Есть ли исключение или просто неправильный вывод? –
Каким образом это не работает? Можете ли вы привести примеры ввода и вывода? – Henrik
Вы не учитываете угловые случаи, такие как: строка пуста; в конце есть пробелы; строка NULL. Также разделителями слов являются «пробелы», которые включают вкладки, окончания строк и т. Д. Также ваш алгоритм предполагает, что в строке есть хотя бы одно слово. –