Выводит строки с верхним регистром первой буквы каждого слова
Учтена возможность наличия нескольких пробелов подряд
Не понимаю почему не принимается решение
package com.javarush.task.task08.task0823;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Locale;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String string = reader.readLine();
string += " "; //новое слово будет вычленяться до следующего пробела, поэтому добавляем в конце строки последний
String work = ""; //в строку будем собирать итоговую
//в цикле "пока длина строки больше 0" будем в work добавлять слова с большой буквы, удаляя их из строки string
while (string.length() > 0) {
work = work + string.substring(0, 1).toUpperCase() + string.substring(1, string.indexOf(" ")); //собираем строку из: "нулевой символ в верхнем регистре" + "с первого символа и до пробела"
//цикл, чтобы решить проблему с 2мя пробелами: сначала удаляем пробел из строки, если строка начинается с пробела - то повторить
do{
string = string.substring(string.indexOf(" ") + 1);
if (string.length() > 0) work += " "; // если после удаления пробела строка длины ноль - конец строки, в work не добавляем пробел, иначе (еще есть слова) - добавляем пробел в work
} while (string.indexOf(" ") == 0);
}
System.out.println(work);
}
}