黑马程序员技术交流社区
标题:
计算大字符串中小字符串出现的次数
[打印本页]
作者:
大地z灵
时间:
2015-10-13 23:49
标题:
计算大字符串中小字符串出现的次数
这段代码变量定义的有点多了
public class StringDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一串字符:");
String str = sc.nextLine();
System.out.println("请输入子串");
String zs = sc.nextLine();
StringBuilder sb = new StringBuilder(str);
int x = 0;
int y = -1;
int count = 0;
int len = zs.length();
while (x < str.length()) {
y = sb.indexOf(zs,x);
if(y != -1) {
count++;
x = len+y;
}else{
break;
}
}
System.out.println("子串在字符串中出现的次数为"+count+"次");
}
}
作者:
maxwell247
时间:
2015-10-13 23:54
不错,万变不离其宗! 都是使用indexOf方法
作者:
窗外的雪儿飞
时间:
2015-10-14 00:13
可以改进下:
import java.util.Scanner;
public class Test_String {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一串字符:");
//大串
String maxStr = sc.nextLine();
System.out.println("请输入子串");
//小串
String minStr = sc.nextLine();
//定义计数器变量
int count = 0;
//定义索引
int index = 0;
//定义循环,判断小串是否在大串中出现
while((index = maxStr.indexOf(minStr)) != -1) {
//计数器自增
count++;
maxStr = maxStr.substring(index + minStr.length());
}
System.out.println(count);
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2