Вроде как отрабатывает нормально, но валидатор упорно не принимает по 4 пункту.
Метод getPartOfString должен возвращать подстроку начиная с символа после 1-го пробела и до конца слова, которое следует после 4-го пробела.
Пример:
«JavaRush — лучший сервис обучения Java.»
Результат:
«— лучший сервис обучения»
На некорректные данные бросить исключение TooShortStringException (сделать исключением).
Требования:
1. Класс TooShortStringException должен быть потомком класса RuntimeException.
2. Метод getPartOfString должен принимать строку в качестве параметра.
3. В случае, если строка, переданная в метод getPartOfString содержит менее 4 пробелов должно возникнуть исключение TooShortStringException.
4. Метод getPartOfString должен возвращать подстроку начиная с символа после 1-го пробела и до конца слова, которое следует после 4-го пробела.
Здесь было решение.
В нём было String, StringBuilder, if и for.
package com.javarush.task.task22.task2202;
/*
Найти подстроку
*/
public class Solution {
public static void main(String[] args) {
System.out.println(getPartOfString("JavaRush — лучший сервис обучения Java."));
}
public static String getPartOfString(String string) {
if (string == null || string.isEmpty()) throw new TooShortStringException();
String[] strings = string.split(" ");
StringBuilder sb = new StringBuilder();
if (strings.length > 5) {
for (int i = 1; i < 5; i++) {
sb.append(strings[i] + " ");
}
} else throw new TooShortStringException();
return sb.toString().trim();
}
public static class TooShortStringException extends RuntimeException {
}
}