[java]代码库
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();//以换行为结束
char c = scan.next().charAt(0);
String str = scan.next();//以空格为结束
int i , j = 0, flag = 0;
for(i = 0; i < s.length() ; i++)
{
if(s.charAt(i) == c )
j++;
}
System.out.println(j);//输出c在s中出现的次数
StringBuilder sb = new StringBuilder(s);
System.out.println(sb.reverse());//输出s的逆转
char[] s1 = s.toCharArray();
//先输出第一个str位置的下标
String aa = s.substring(0,s.indexOf(str)+str.length());
flag = flag+aa.length();
s = s.substring(s.indexOf(str)+str.length());
System.out.print(flag-str.length());
while (s.indexOf(str) != -1)//后面的串包含str时
{ //indexOf:返回指定子字符串在此字符串中第一次出现处的索引
aa = s.substring(0,s.indexOf(str)+str.length());
//substring:返回此字符串的一个子字符串(从开始到str的结束位置)
flag = flag+aa.length();//已经查找的字符串长度
//去除包含自身在内的前边部分,s1保留后面的子串
s = s.substring(s.indexOf(str)+str.length());
System.out.print(" ");
System.out.print(flag-str.length());//输出str位置的下标
}
System.out.println();
//将字符串中每个单词的第一个字母变成大写并输出
if(s1[0] >= 'a' && s1[0] <= 'z')
s1[0] = (char)(s1[0]-32);
for(i = 1; i < s1.length ; i++)
{
if(s1[i] == ' ' && s1[i+1 ]>= 'a' && s1[i+1] <= 'z')
s1[i+1] = (char)(s1[i+1]-32);
}
s = new String(s1);
System.out.println(s1);
}
}