拜求大神解惑,帮我加下注释好吗??看看题目中的疑问...

mxl0632 2012-02-04 05:42:13
/*【程序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);


}
}
...全文
99 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuziti01 2012-02-05
  • 打赏
  • 举报
回复
c1//一个字符串
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++;
}
cstur4 2012-02-04
  • 打赏
  • 举报
回复
i是原串的起始位置,t是偏移量。对于原串字符为src.charAt(i+t),对于子串字符为sub.charAt(t)
结贴是美德 2012-02-04
  • 打赏
  • 举报
回复
t是sub中第几个字符,i是str中第几个字符
wnf2009 2012-02-04
  • 打赏
  • 举报
回复
t是指针。指向sub。sub和str逐一比较

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧