zoukankan      html  css  js  c++  java
  • 用JAVA写查询一个字符串中是否包含另外一个字符串以及出现的次数

    package JAVA;

    import java.awt.List;
    import java.util.ArrayList;
    /**
     *
     * @author 梁小鱼
     *
     */
    public class MyTest {

     public static void main(String[] args) {
      //查找字符串在目标字符串是否存在
      Boolean isExit = IsExit("f","abfsdfsdkjl;fas;dlfsldf;asdfsdfaszdf");
      System.out.println(isExit);
     }
     
     private static Boolean IsExit(String strson, String strmother ) {
      //设置是否存在标志位
      Boolean Isflag = false;
      // 获得母串的长度
      Integer strmotherLength = strmother.length();
      // 获得子串的长度
      Integer strsonLength = strson.length();
      
      if (strmother==null||strmotherLength<strsonLength||strson.equals("")||strson==null) {
       return false;
      }
      System.out.println("输入的母串为:" + strmother);
      System.out.println("输入的子串为:" + strson);
      //存放结果的数组
      ArrayList<Boolean> reasonArr = new ArrayList<Boolean>();
      //字符出现次数
      Integer appTime = 0;
      //将母串转为字符数组
      char[] charArrayMother = strmother.toCharArray();
      //以子串长度为单位遍历母串数组
      for (int i = 0; i < (charArrayMother.length - strsonLength +1); i++) {
       //遍历起点为0,终点为数组长度减去子串长度
       //以子串长度  为最小单位 遍历比较
       //写一个比较的字方法,传入的参数有母串数组,当前遍历位置,子串
       Integer flag = compare(charArrayMother,strson,i);
       if (flag == 1) {
        reasonArr.add(true);
       }else {
        reasonArr.add(false);
       }
      }
      
      //在此结算
      for (Boolean bool : reasonArr) {
       if (bool==true) {
        appTime += 1;
        
       }
      }
      System.out.println("字符:" + strson + "  在   " + strmother + "   中出现的次数为:" + appTime + "次!");
      if (appTime>0) {
       return true;
      }
      return Isflag;
     }
     /**
      * 处理比较的方法
      * @param charArrayMother
      * @param strson
      * @param i
      * @return
      */
     private static Integer compare(char[] charArrayMother, String strson, int i) {
      // 取出当前遍历位置,所形成的子串长度单位的字符
      // 创建一个字符床存放拿出来的字符
      String comstr = "";
      for (int j = 0; j < strson.length(); j++) {
       char c = charArrayMother[i+j];
       comstr += String.valueOf(c);
      }
      System.out.println("第"+ (i+1) + "截取的字符串为:" + comstr);
      if (strson.equals(comstr)) {
       return 1;
      }
      return 0;
     }
    }

  • 相关阅读:
    No.5 Verilog 建模方式
    No.1 Verilog HDL简介
    [好文推荐]能大大提升工作效率和时间效率的9个重要习惯
    org.apache.commons.net.ftp.FTPClient上传文件大小改变的解决方法
    利用myeclipse建立webservice服务端和客户端
    FtpClient.storeFile返回false解决方法
    jquery表单formSerialize方法乱码问题解决
    Apache FTPClient下载地址
    Myeclipse发生java heap space错误
    UtraEdit的下载地址,无需注册码的
  • 原文地址:https://www.cnblogs.com/liangxiaoyu/p/6227700.html
Copyright © 2011-2022 走看看