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;
 }
}

用JAVA写查询一个字符串中是否包含另外一个字符串以及出现的次数的更多相关文章

  1. 在SQLSERVER中如何检测一个字符串中是否包含另一个字符串

    --当charindex返回值大于0时则包含 为0不包含 select CHARINDEX('456','123456')   SQL语句使用CHARINDEX函数,来测试一个字符串中是否包含另一个字 ...

  2. php字符串查找函数 php查找字符串中出现的次数函数substr_count,判断字符串中是否包含另一个字符串函数strpos

    php字符串查找函数 php查找字符串中出现的次数函数substr_count,判断字符串中是否包含另一个字符串函数strpossubstr_count($haystack, $needle [,$o ...

  3. 在sql server中如何检测一个字符串中是否包含另一个字符串

    select CHARINDEX('456','123456')   SQL语句使用CHARINDEX函数,来测试一个字符串中是否包含另一个字符串中的方法: 一.CHARINDEX函数介绍 1.函数功 ...

  4. C#判断字符串中是否包含一个子字符串是可以直接使用Contains()方法

    1. 以前判断一个字符串中是否包含另一个子字符串时,习惯使用 IndexOf(); string str = "ABC@QQ"; if(str.IndexOf("@&qu ...

  5. php 判断字符串中是否包含另一个字符串 strpos

    strpos (PHP 4, PHP 5, PHP 7) strpos — 查找字符串首次出现的位置 说明 strpos ( string $haystack ,  $needle [, int $o ...

  6. 判断一个字符串中是否包含另一个字符串(KMP、BF)

    判断一个字符串是否是另一个字符串的子串,也就是strstr()函数的实现,简单的实现方法是BF算法. 1.BF算法 int BF(char *s, char *p){ ; ; int j; while ...

  7. oracle判断一个字符串中是否包含另外一个字符串

    select * from a where instr(a,b)>0; 用于实现B字段是A字段中的某一部分的时候,要论顺序或者要相邻的字符. 如果想要不论顺序或者不相邻的字符时,定义函数可以实现 ...

  8. C# 如何判断字符串中是否包含另一个字符串?

    如  字符串1(str1)为:“你好怎么解决呢!”    字符串2(str2)为:“你好” 如果str1里面包str2 则 Response.Write("成功");否则 Resp ...

  9. [Robot Framework] 校验字符串中是否包含某个子字符串,校验同时满足两个条件中任意一个

    ${tWarningMessage} Run Keyword If ${tIfExist} AutoItLibrary.Win Get Text Generate Fee Data warning m ...

随机推荐

  1. SQLiteDatabase 基本操作

    一.SQLiteOpenHelper类 android 提供类SQLiteOpenHelper帮助用户简化对SQLite数据库的操作.该类是一个抽象类,必须用户自己实现并重写oncreate()和on ...

  2. VMWARE里启动kylin16.0时出现'SMBus Host Controller not enabled'(还未进入系统)

    在Vmware里安装完Ubuntu16.10,启动时出现'SMBus Host Controller not enabled'错误提示,进不到图形界面.网上搜了一下,解决办法是在图形界面里进终端窗口, ...

  3. 分布式事务二阶提交DTS系统

    前端时间写新交易系统时,经常碰到事务一致性问题,网上搜了一下,有一些解决方法,采用了扫表补偿的方式来完成,刚开始只有几个接口需要处理,工作量还可以,但是后续随着需求的增加,这些场景错综复杂,导致大量时 ...

  4. mmorpg手游中的战斗系统

    目前的项目是一款mmorpg手游, 非常不幸的是,当前战斗系统的实现非常脆弱, 也毫无技巧可言.具体存在如下问题: 1.战斗层逻辑与自动战斗AI逻辑混在一起, 互相纠缠. 2.战斗层自身逻辑混乱不堪, ...

  5. Maplace.js – 小巧实用的 jQuery 谷歌地图插件

    Maplace.js是一个小的显示谷歌地图的 jQuery 插件,帮助你把谷歌地图嵌入到你的网站,快速在地图位置上创建标记和控制菜单.它需要 jQuery 和谷歌地图 API v3 支持,所以这两个都 ...

  6. AR/VR技术交流

    本人建了一个QQ群(群号:331922761),欢迎对AR,VR技术感兴趣的同学加入一起学习讨论.

  7. ajax中使用post传值数组array

    如果我们在data中想放入array的参数,根据在网上搜索的结果有如下方法,但是没有一个成功的……我还是贴出来,别人成功了,也许是我哪里不对,日后也许还有机会研究..在文章的最后贴出了转化为json的 ...

  8. Linux中修改环境变量导致大量命令不可用的解决办法

    如果搞死环境变量别慌张.因为ls等命令都不能使用了,所以先找到/usr/bin/目录 使用./sudo su命令获取root权限 然后在进入/etc目录 利用vim profile命令 修改profi ...

  9. 第一个Asp.net小项目,主页写了下后台代码

    一个比较完善的登录模块,就目前的知识范围来说应该算是完美的. 涉及到:cookies,Session,验证码等知识面 Cookies存放一组值: HttpCookie cook = new HttpC ...

  10. 许愿墙的搭建(基于Apache+php+mysql)

    一.准备部分:CentOS 7  , Linux 文本   各自配置好环境 二. CentOS 7准备如下: yum install httpd -y #安装httpd yum install php ...