/*【程序49】
题目:计算字符串中子串出现的次数 */import java.util.*; public class Test49{public static void main(String[] args){ Scanner sc=new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str=sc.next();
System.out.print("请输入要统计的子串:");
String sub=sc.next();
char[] c1;
char[] c2;
c1=str.toCharArray();
c2=sub.toCharArray();
int count=0;
int t;
int m=str.length()-sub.length();
if(m<0)
System.out.println("字符串中不含"+sub+"子串");
else{
for(int i=0;i<str.length();i++)
{
t=0;
while(t<sub.length()&&c2[t]==c1[i+t]) //c2[t]==c1[i+t] 这句怎么理解??
{
t++;
}
if(t==sub.length()) count++;
}
}
System.out.println(sub+"在"+str+"中出现的次数是:"+count);
}
}
题目:计算字符串中子串出现的次数 */import java.util.*; public class Test49{public static void main(String[] args){ Scanner sc=new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str=sc.next();
System.out.print("请输入要统计的子串:");
String sub=sc.next();
char[] c1;
char[] c2;
c1=str.toCharArray();
c2=sub.toCharArray();
int count=0;
int t;
int m=str.length()-sub.length();
if(m<0)
System.out.println("字符串中不含"+sub+"子串");
else{
for(int i=0;i<str.length();i++)
{
t=0;
while(t<sub.length()&&c2[t]==c1[i+t]) //c2[t]==c1[i+t] 这句怎么理解??
{
t++;
}
if(t==sub.length()) count++;
}
}
System.out.println(sub+"在"+str+"中出现的次数是:"+count);
}
}
str//一个字符串
c2//要统计的子串
sub//要统计的子串 for(int i=0;i<str.length();i++) //i=0->一个字符串的長度
{
t=0;
while(t<sub.length()&&c2[t]==c1[i+t]) //t<要统计的子串的長度&& 要统计的子串
跟一个字符串逐一比较, t是sub中第几个字符,i+t是str中第几个字符 {
t++;
}
if(t==sub.length()) count++;
}