Часть моего решения этой задачи, прошло валидацию. Условия задачи Написать программу, которая вводит с клавиатуры строку текста. Программа заменяет в тексте первые буквы всех слов на заглавные. Вывести результат на экран.
for (int i = 0; i < list.size(); i++){
            if (list.get(i).length() != 0)System.out.print(list.get(i).substring(0, 1).toUpperCase() + list.get(i).substring(1) + " ");
        }
    }
}
Вопрос касается этой строчки
if (list.get(i).length() != 0)System.out.print(list.get(i).substring(0, 1).toUpperCase() + list.get(i).substring(1) + " ");
Почему в методе substring() нужно указать (0, 1), а не (1)? Можете мне подсказать, я гуглил этот метод, но как то так и не смог понять, заранее спасибо за объяснения этого метода в контексте задачи.