Программа почему-то выдает ошибки

Условие задачи: Написать статический метод int countCapitals(String s), который возвращает, сколько слов в строке s начинаются с заглавной буквы.

Заглавной буквой считается символ (Character) типа UPPERCASE_LETTER или типа TITLECASE_LETTER. Словом считается последовательность букв или цифр, разделённых одним или несколькими пробельными символами (whitespace), знаками (symbol) или знаками пунктуации (punctuation).

import java.util.Scanner;

public class P33 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        System.out.println(countCapitals(s));
    }
    static int countCapitals(String s) {
        int count = 0;
        for (int i = 0; i < s.length(); i++) {
            if ((Character.isUpperCase(s.charAt(i)) || Character.isTitleCase(s.charAt(i))) && (i == 0 || Character.isWhitespace(s.charAt(i - 1)) || checkSymbol(s.charAt(i - 1)))) {
                count++;
            }
        }
        return count;
    }
    private static boolean checkSymbol(char c) {
        char[] symbols = {'.', ',', '-', ':', ';', '?', '!'};
        for(int i = 0; i < symbols.length; i++){
            if(symbols[i] == c){
                return true;
            }
        }
        return false;
    }
}

Ошибки


Ответы (0 шт):