题目需要注意的是字符串切分的问题, 切错了直接导致答案错误. 切分过程中还需要注意转义字符的问题.
切出来的字符串存入字符串数组中.
最后距离就是中间字符串的长度加上空格的长度
具体实现请看代码
package ten; import java.util.Scanner; public class 人物相关性分析 { public static void main(String[] args) { Scanner shu = new Scanner(System.in); int K=shu.nextInt(); shu.nextLine(); String str=shu.nextLine(); String[] s = str.split("\s+|\."); //有空格按空格切分,有.和空格按.切分,空格为一个空字符串 String a="Alice"; String b="Bob"; int count=0; for(int i=0;i<s.length;i++) { if(s[i].equals(a)) {//Alice 和 Bob的距离 for(int j =i+1;j<s.length;j++) { int sum=0; if(s[j].equals(b)) { for(int l=i+1;l<j;l++) { sum+=s[l].length()+1;//每个单词加一个空格的长度 } if(sum+1<=K) { System.out.println(sum+1);//测试间距 ++count; } } } } } for(int i=0;i<s.length;i++) { if(s[i].equals(b)) {//Bob 和 Alice的距离 for(int j =i+1;j<s.length;j++) { int sum=0; if(s[j].equals(a)) { for(int l=i+1;l<j;l++) { sum+=s[l].length()+1; } if(sum+1<=K) { System.out.println(sum+1); ++count; } } } } } System.out.println(count); } }
好
good厉害了
以后多发点哦