博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 11-8 在大串中查找小串的案例
阅读量:5337 次
发布时间:2019-06-15

本文共 2802 字,大约阅读时间需要 9 分钟。

1、统计大串中小串出现的次数
  举例:
    在字符串"woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun"
  结果:
    java出现了5次
  分析:
    1、首先已经知道字符串
      A:定义一个统计变量=0;
      B:在大串中查找小串是否存在,用 int indexOf(String str):返回指定字符在此字符串中第一次出现处的索引。
          a:如果返回的索引值是-1,则说明 大串中并不存在这个小串,输出统计变量
          b:返回的若不是-1,则是这个小串的第一个字符在大串中的索引,这个时候统计变量++
      C:从得到的索引开始,再加上小串的长度,到字符串的最后,开始截取一个新的字符串,再把这个字符串赋值给大串,替换之前的大串
        String substring(int start):从指定位置开始截取字符串,默认到末尾。
      D:再次从B开始循环,直到得到的新字符串没有了这个小串,也就是B中的a
  以上分析定义为一个方法,方法的两个要素:
      a:返回值:int
      b:参数列表:两个字符串,大串和小串

1 public class StringTest3 { 2  3 public static void main(String[] args) { 4 //定义已知大串和小串 5 String maxstring = "woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun"; 6 String minstring = "java"; 7  8 //调用getcount方法 9 int count = getcount(maxstring,minstring);10 System.out.println("java在这个大串中出现了"+count+"次");11 }12 13 //定义这个方法14 public static int getcount(String max,String min){15 //定义一个统计变量16 int count = 0 ;17 18 //在大串中查找小串是否存在,用 int indexOf(String str):返回指定字符在此字符串中第一次出现处的索引。19 int index = max.indexOf(min);20 21 //进行索引的判断22 while(index != -1){23 //统计变量自增24 count ++;25 26 //从得到的索引开始,再加上小串的长度,到字符串的最后,开始截取一个新的字符串,再把这个字符串赋值给大串,替换之前的大串27 // String substring(int start):从指定位置开始截取字符串,默认到末尾。    28 29 max = max.substring(index+min.length());    30 31 index = max.indexOf(min);//再次在大串中查找小串是否存在32 }33 return count;34 35 }36 37 }

 

2、优化版 统计大串中小串出现的次数
    需求:首先输入一个大串,接着输入一个小串,查询小串在大串中出现了几次
    分析:
      1、首先键盘录入2个字符串
        A:定义一个统计变量=0;
        B:在大串中查找小串是否存在,用 int indexOf(String str):返回指定字符在此字符串中第一次出现处的索引。
            a:如果返回的索引值是-1,则说明 大串中并不存在这个小串,输出统计变量
            b:返回的若不是-1,则是这个小串的第一个字符在大串中的索引,这个时候统计变量++
        C:从得到的索引开始,再加上小串的长度,到字符串的最后,开始截取一个新的字符串,再把这个字符串赋值给大串,替换之前的大串
          String substring(int start):从指定位置开始截取字符串,默认到末尾。
        D:再次从B开始循环,直到得到的新字符串没有了这个小串,也就是B中的a
    以上分析定义为一个方法,方法的两个要素:
        a:返回值:int
        b:参数列表:两个字符串,大串和小串

1 import java.util.Scanner; 2 public class StringText4 { 3  4 public static void main(String[] args) { 5 //1、首先键盘录入2个字符串 6 Scanner sc = new Scanner(System.in); 7 System.out.println("请输入大串:"); 8 String maxstring = sc.nextLine(); 9 System.out.println("请输入小串:");10 String minstring = sc.nextLine();11 12 //调用getCount方法13 int count = getCount(maxstring,minstring);14 System.out.println(minstring+"在"+maxstring+"中出现了"+count+"次");15 16 }17 //定义方法18 public static int getCount(String max,String min){19 //定义一个统计变量20 int count = 0;21 //在大串中查找小串是否存在,用 int indexOf(String str):返回指定字符在此字符串中第一次出现处的索引。22 int index;23 while((index=max.indexOf(min))!= -1){24 //当得到的索引不是-1时25 count++;26 //从得到的索引开始,再加上小串的长度,到字符串的最后,开始截取一个新的字符串,再把这个字符串赋值给大串,替换之前的大串27 max = max.substring(max.indexOf(min)+min.length());28 }29 return count;30 }31 32 }

 

转载于:https://www.cnblogs.com/LZL-student/p/5877329.html

你可能感兴趣的文章
Vue—条件、循环指令
查看>>
configparser--配置文件分析库
查看>>
增加samba用户提示Failed to add entry for user
查看>>
字符串替换 方法讨论
查看>>
Hibernate学习-在线书城后台管理系统的设计
查看>>
CentOS环境安装Docker配置nginx+uwsgi+django
查看>>
HDU 2188.悼念512汶川大地震遇难同胞——选拔志愿者-巴什博奕
查看>>
mybatis源码解析之Configuration加载(五)
查看>>
python--用python操作Git
查看>>
sscanf函数——强大的C语言库函数
查看>>
图像和流媒体 -- 帧率、分辨率、码流的概念和关系(转)
查看>>
数论 青蛙的约会 扩展欧几里得
查看>>
struts2.1笔记05:struts2开发环境的搭建
查看>>
GUI编程笔记(java)11:使用Netbeans工具进行GUI编程
查看>>
函数名可以作为函数的返回值
查看>>
C代码中如何调用C++ C++中如何调用C
查看>>
webx学习
查看>>
eclipse导出可供项目引用的jar
查看>>
(16)JavaScript的流程控制(js的循环)
查看>>
java之equals()和hashCode()方法
查看>>