И почему string.indexOf("\t") возвращает 0 я так и не понял(((((
Но я сделал по другому с:
ArrayList<Integer> list = new ArrayList<>();
int i = 0;
for (Character ch : string.toCharArray()){
if(ch == '\t'){
list.add(i);
}
i++;
}
if (string == null || string.equals(null) || string.isEmpty())
throw new TooShortStringException();
if (list.size() < 2)
throw new TooShortStringException();
// if(string.indexOf("\t") < 2)
// throw new TooShortStringException();
// System.out.println(string.indexOf("\t")); // return 0 ???????
return string.substring(list.get(0) + 1, list.get(1));
все равно не принимаетpackage com.javarush.task.task22.task2203;
import java.util.ArrayList;
/*
Между табуляциями
*/
public class Solution {
public static String getPartOfString(String string) throws TooShortStringException {
ArrayList<Integer> list = new ArrayList<>();
int i = 0;
for (Character ch : string.toCharArray()){
if(ch == '\t'){
list.add(i);
}
i++;
}
if (string == null || string.equals(null) || string.isEmpty())
throw new TooShortStringException();
if (list.size() < 2)
throw new TooShortStringException();
return string.substring(list.get(0) + 1, list.get(1));
}
public static class TooShortStringException extends Exception {
}
public static void main(String[] args) throws TooShortStringException {
System.out.println(getPartOfString("\tJavaRush - лучший сервис \tобучения Java\t."));
}
}