• ,

Level08.Lesson11.Home05.

Не проходит тестирование, в среде запускается и работает исправно(пока не придумал нерабочий пример). Перед тем как реализовать через char массив, хотелось бы разобраться, почему этот вариант является нерабочим.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/* Мама Мыла Раму. Теперь с большой буквы
Написать программу, которая вводит с клавиатуры строку текста.
Программа заменяет в тексте первые буквы всех слов на заглавные.
Вывести результат на экран.

Пример ввода:
  мама     мыла раму.

Пример вывода:
  Мама     Мыла Раму.
*/

public class Solution
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        String s = reader.readLine();
        String s1="";
        if(s.charAt(0)!=' ') s1=s1+ Character.toUpperCase(s.charAt(0));

             for (int i = 0; i <s.length()-1 ; i++)
            {
                if(s.charAt(i)==' '&&Character.isLowerCase(s.charAt(i+1))){
                    s1= s1+s.charAt(i)+Character.toUpperCase(s.charAt(i+1));
                    i++;
                }
                else s1=s1+s.charAt(i);
            }
            while(s1.length()<s.length())s1=s1+s.charAt(s1.length());
        System.out.println(s1);
        //напишите тут ваш код
    }


}

4 комментария

Nullptr
Убери первый if, условие подразумевает наличие хотя бы одного пробела в начале строки.
agcheb
Спасибо, теперь прошло тестирование. Т.е я правильно понял, что тестирование рассчитано было на то, что строка начинается с пробела, и таким образом первый if(...) был избыточным и поэтому не проходил тест?
Nullptr
именно так.
agcheb
спасибо большое за ответ
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.