I don't understand why this isn't working?
package com.codegym.task.task08.task0823;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/*
Going national
*/
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
ArrayList<String> sentence = new ArrayList<>();
String words[] = s.split("\\s");
for (String word : words) {
char firstLetter = word.charAt(0);
String followingLetters = word.substring(1);
char upperCase = Character.toUpperCase(firstLetter);
String perfectWord = upperCase + followingLetters;
sentence.add(perfectWord);
}
for (int i = 0; i < sentence.size(); i++) {
if (i < sentence.size() - 1) {
System.out.print(sentence.get(i) + " ");
}
else {
System.out.print(sentence.get(i));
}
}
}
}