• ,

level08.lesson11.home05

Добрый день.
Есть задача:
package com.javarush.test.level08.lesson11.home05;

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[] splited = s.split(" ");
        String newString = "";
        for (int i = 0; i < splited.length; i++)
        {
            char ch = splited[i].charAt(0);
            char chUpper = splited[i].toUpperCase().charAt(0);
            String strCh = "" + ch;
            String strChUp = "" + chUpper;
            splited[i] = splited[i].replaceFirst(strCh, strChUp);
            newString = newString + splited[i] + " ";
        }
        newString = newString.trim();

        System.out.println(newString);
    }
}

В IDEA работает всё прекрасно, но не проходит тестирование. Подскажите, пожалуйста, что посмотреть?

P.S. ещё раз почитал комментарии и сделал вывод, что данную задачу нельзя решать через split, потому что не спроста указано много пробелов в вводе и выводе, так? Надо решать обязательно через toCharArray()?

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

Champion
Да, надо через toCharArray()!!!
Champion
Еще тебе помогут методы:
— isSpaceChar()
— isLetter()
maximuswork
Спасибо за комментарии. Решил написав условие из трех строк.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.