import java.util.Scanner;
public class CountString{
public static void main(String[] args){
int uletter = 0;//保存大写字母
int lletter = 0;//保存小写字母
int noletter = 0;//保存非字母数
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个带字母和非字母的字符串");
String str=scanner.next();
char[] ch=str.toCharArray();
for(char c:ch){
if(c>='a'&&c<='z'){
uletter++;
}else if(c>='A'&&c<='Z'){
lletter++;
}else{
noletter++;
}
}
System.out.println("小写:"+uletter+" 大写:"+lletter+" 非字母:"+noletter);
}
}
*/
import java.util.Scanner;
public class NewClass {
public static void main(String args[]){
int count=0;//字串出现次数
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个长字符串:");
String longStr=scanner.next();
System.out.println("请输入一个短字符串:");
String shortStr=scanner.next();
if(longStr.length()<shortStr.length()){
System.out.println("字符串["+shortStr+"]在字符串["+longStr+"]中出现了"+count+"次");
return;
}
for(int i=0;i<=longStr.length()-shortStr.length();i++){
String tempStr=longStr.substring(i, i+shortStr.length());//将长传分割成与字串相同长度的字符串
System.out.println(tempStr);
if(tempStr.equals(shortStr)){
count++;
}
}
System.out.println("字符串:["+shortStr+"]在字符串["+longStr+"]中出现了"+count+"次");
}
}
/**
*这是上一个程序的另一种实现方式
*/
import java.util.Scanner;
public class SubStringCount {
public static void main(String args[]){
int count=0;
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个长字符串:");
String longStr=scanner.next();
System.out.println("请输入一个短字符串:");
String shortStr=scanner.next();
int index=longStr.indexOf(shortStr);
while(index!=-1){
count++;
index=longStr.indexOf(shortStr, index+shortStr.length());
}
System.out.println("字符串["+shortStr+"]在字符串["+longStr+"]中出现了"+count+"次");
}
}