
用java的递归方法或者循环方法找出里面有几个java ,各位大哥大姐帮帮忙
asdjavahnaskjavajdasjdasjjavafdlsafhdsaduhvcjavadsanclsajhdqlwijavadcwaduasjavadhua...
asdjavahnaskjavajdasjdasjjavafdlsafhdsaduhvcjavadsanclsajhdqlwijavadcwaduasjavadhua
展开
展开全部
用String 包下的indexOf()方法
代码如下:
public class Test {
public static void main(String[] args) {
String str="asdjavahnaskjavajdasjdasjjavafdlsafhdsaduhvcjavadsanclsajhdqlwijavadcwaduasjavadhua";
String strIndex = "java";
//String.indexOf()是String包下的方法,返回指定子字符串在此字符串中第一次出现处的索引。
//下面输出3
System.out.println(str.indexOf(strIndex));
System.out.println("用递归方法找到java的个数是" + new Test().javaDiGui(str,strIndex) );
System.out.println("用循环方法找到java的个数是" + new Test().javaXunHuan(str,strIndex) );
}
//str为要查找的长字符串,strIndex为短字符串从main传过过来的"java"
//这里采用递归方法
//方法是找到第一次出现的位置,总个数=1+余下子串中java个数
public int javaDiGui(String str,String strIndex){
int i=str.indexOf(strIndex);
//i==-1则表示找不到
if(i == -1){
return 0;
}
else return 1+javaDiGui(str.substring(i+strIndex.length()),strIndex);
//subString(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。
}
//str为要查找的长字符串,strIndex为短字符串从main传过过来的"java"
//这里采用递归方法
//方法是找到第一次出现的位置,用余下子串代替当前字符串,再继续找,直到找不到为止
public int javaXunHuan(String str,String strIndex){
int i =0;
int num = 0; //总个数初始化为0
while(i!=-1){
i=str.indexOf(strIndex);
if(i!=-1)
num++;
str = str.substring(i+strIndex.length());//余下子串替换当前串
}
return num;
}
}
输出结果:
3
用递归方法找到java的个数是6
用循环方法找到java的个数是6
代码如下:
public class Test {
public static void main(String[] args) {
String str="asdjavahnaskjavajdasjdasjjavafdlsafhdsaduhvcjavadsanclsajhdqlwijavadcwaduasjavadhua";
String strIndex = "java";
//String.indexOf()是String包下的方法,返回指定子字符串在此字符串中第一次出现处的索引。
//下面输出3
System.out.println(str.indexOf(strIndex));
System.out.println("用递归方法找到java的个数是" + new Test().javaDiGui(str,strIndex) );
System.out.println("用循环方法找到java的个数是" + new Test().javaXunHuan(str,strIndex) );
}
//str为要查找的长字符串,strIndex为短字符串从main传过过来的"java"
//这里采用递归方法
//方法是找到第一次出现的位置,总个数=1+余下子串中java个数
public int javaDiGui(String str,String strIndex){
int i=str.indexOf(strIndex);
//i==-1则表示找不到
if(i == -1){
return 0;
}
else return 1+javaDiGui(str.substring(i+strIndex.length()),strIndex);
//subString(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。
}
//str为要查找的长字符串,strIndex为短字符串从main传过过来的"java"
//这里采用递归方法
//方法是找到第一次出现的位置,用余下子串代替当前字符串,再继续找,直到找不到为止
public int javaXunHuan(String str,String strIndex){
int i =0;
int num = 0; //总个数初始化为0
while(i!=-1){
i=str.indexOf(strIndex);
if(i!=-1)
num++;
str = str.substring(i+strIndex.length());//余下子串替换当前串
}
return num;
}
}
输出结果:
3
用递归方法找到java的个数是6
用循环方法找到java的个数是6
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询