Добрый вечер.
Задача решена верно, но не проходит тестирование по пункту: "В случае, если строка, переданная в метод getPartOfString содержит менее 2 табуляций должно возникнуть исключение TooShortStringException". На деле всё работает верно. Если валидатор требует предварительного подсчёта табуляций, то мне не нравится такая реализация, поскольку в код добавляются лишние инструкции, делающие код менее эффективным.
Между табуляциями
Метод getPartOfString должен возвращать подстроку между первой и второй табуляцией. На некорректные данные бросить исключение TooShortStringException. Класс TooShortStringException не менять.
Требования:
1. Класс TooShortStringException должен быть потомком класса Exception.
2. Метод getPartOfString должен принимать строку в качестве параметра.
3. В случае, если строка, переданная в метод getPartOfString содержит менее 2 табуляций должно возникнуть исключение TooShortStringException.
4. Метод getPartOfString должен возвращать подстроку между первой и второй табуляцией.
public class Solution {
public static String getPartOfString(String string) throws TooShortStringException {
int[] index = new int[2];
int tabIndex = 0;
for (int i = 0; i < 2; i++){
tabIndex = string.indexOf("\t", tabIndex);
if (tabIndex != -1) {
index[i] = tabIndex;
tabIndex++;
}
else throw new TooShortStringException();
}
return string.substring(index[0] + 1, index[1]);
}
public static class TooShortStringException extends Exception {
}
public static void main(String[] args) throws TooShortStringException {
System.out.println(getPartOfString("\tJavaRush - лучший сервис \tобучения Java\t."));
}
}
package com.javarush.task.task22.task2203;
/*
Между табуляциями
*/
public class Solution {
public static String getPartOfString(String string) throws TooShortStringException {
int[] index = new int[2];
int tabIndex = 0;
for (int i = 0; i < 2; i++){
tabIndex = string.indexOf("\t", tabIndex);
if (tabIndex != -1) {
index[i] = tabIndex;
tabIndex++;
}
else throw new TooShortStringException();
}
return string.substring(index[0] + 1, index[1]);
}
public static class TooShortStringException extends Exception {
}
public static void main(String[] args) throws TooShortStringException {
System.out.println(getPartOfString("\tJavaRush - лучший сервис \tобучения Java\t."));
}
}