找到符合条件的s1,s2.再去求他们之间的距离
s1,s2需满足:s1,s2同时在s2中出现,且S1的右边界点在S2的左边界点的左侧
a != -1 && b != -1 && a + ss[1].length() <= b
它们之间的最大跨距:s中与s1匹配的第一个字符串的最后一个字符的下标与与s2匹配的最后一个字符串第一个字符的下标之间的距离
a = ss[0].indexOf(ss[1]);
b = ss[0].lastIndexOf(ss[2]);
最大跨距=b - a - ss[1].length()
IndexOf用法:
int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。
int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。
int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
String[] ss = s.split(",");
int a, b;
a = ss[0].indexOf(ss[1]);
b = ss[0].lastIndexOf(ss[2]);
if (a != -1 && b != -1 && a + ss[1].length() <= b) System.out.println(b - a - ss[1].length());
else System.out.println("-1");
}
}