求解释啊,没看懂
求字符串中“中国”的个数。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