当前位置:编程学习 > JAVA >>

求解释啊,没看懂

求字符串中“中国”的个数。while体中没看懂
String s="中国adfhf美国中国中国日本sihoiash";
String sFind="中国";
int beginindex=-1;
int count=0;
while((beginindex=s.indexOf(sFind))!=-1)
{
s=s.substring(beginindex+sFind.length());
count++;
}
System.out.println("指定字符串出现的次数:"+count); --------------------编程问答-------------------- 循环每次查找给定字符串出现的位置,如果没有直接退出。
如果有,count 加一,当前字符串去掉给定字符串之前的所有字符。

第一次循环之后,s 是 adfhf美国中国中国日本sihoiash
第二次循环之后,s 是 中国日本sihoiash
第一次循环之后,s 是 日本sihoiash

因为 s.indexOf("日本sihoiash") 为 -1,while 循环退出。
更多参考 java.lang.String.substring(int beginIndex) 方法 --------------------编程问答-------------------- 斑猪说的对啊  这是比较基本的东东 --------------------编程问答-------------------- (beginindex=s.indexOf(sFind))!=-1:当s内含有sFind时,则返回该字符第一次出现的位置,否则返回-1;

s=s.substring(beginindex+sFind.length()):s字符串截取为第一次出现sFind的后面的字符串,不包含盖茨出现的sFind; --------------------编程问答-------------------- 这个应该比较简单,使用循环遍历可以实现,最后输出结果

public static void main(String[] args){
  //  int count=8;
  //  System.out.print(count++);
String s="中国adfhf美国中国中国日本siho日本iash";
int count=0;
for(int i=0;i<s.length();i++){
if( s.indexOf("日本",i) !=-1){
i=s.indexOf("日本",i);
count++;
}
}
System.out.println(count);

}
补充:Java ,  J2ME
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,