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. 利用SSH传输文件

    在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下载文件scp username@servername:/path/filename /var/www/local_dir(本地 ...

  2. nginx.conf 解释

    http://snapshot.sogoucdn.com/websnapshot?ie=utf8&url=http%3A%2F%2Fwww.cszhi.com%2F20120513%2Fngi ...

  3. maven-web项目中的一些小问题

    1.最新的jetty容器 org.eclipse.jetty 需要JDK1.8的支持. 2.在容器中发布WEB项目时web 中的pom.xml的依赖关系会丧失,依赖和插件需要单独完全编写(尽管IDE会 ...

  4. 多个div同时居中的写法

    多个div在某个div的中间,他们个数不一定但是需要在那个父级div中显示(和margin:0 auto一样的效果) <!DOCTYPE html><html lang=" ...

  5. DPDK编译步骤

    大页内存分配:  NUMA系统(现在的linux一般都是) echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048 ...

  6. C语言的总结

    在C语言考试的中,我成绩不是很好,其实在学习C语言的时候我没有好好去学过,我知道了是我自己的错误,我不应该抱着侥幸的心里去上课的,我会去好好听课的哦l

  7. LSMW批处理工具操作手册

          目录     1. 创建PROJECT 1 2.第一步:初始界面后点击执行出现如下对话框 3 3.第二步:维护源结构 8 4.第三步:Maintain Source Fields 9 4. ...

  8. Bible

    001 Love your neighbor as yourself.         要爱人如己.--<旧·利>19:18      002 Resentment kills a foo ...

  9. web storage和cookie的区别

    Web Storage的概念和cookie相似,区别是它是为了更大容量存储设计的.Cookie的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外co ...

  10. 51nod1265 四点共面

    题目链接:51nod 1265 四点共面 四个点构成的三个向量a,b,c共面的充要条件是存在不全为零的实数x,y,z满足x*a+y*b+z*c=0,然后想到线代了.. 其实就是三个向量的混合积为0:( ...