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. .ashx datatable转excel

    using System;using System.Collections;using System.Collections.Generic;using System.Data;using Syste ...

  2. CentOS 程序开机自启动方法总结

    1.把启动程序的命令添加到/etc/rc.d/rc.local文件中 CentOS系统下管理开机自启动的配置文件是/etc/rc.d/rc.local,所以只需编辑这个文件,在里面加入相应的启动命令即 ...

  3. 13 个免费的 PNG 图像的优化和压缩工具

    图像格式有许多种不同类型,在互联网上最常见的有JPEG.GIF.BMP.TIFF和PNG.每一种图像格式都有它自己的用途,比如GIF是用于动画的,JPEG是用于高清图片的,这种图片在保存或者调整大小后 ...

  4. JavaScript判断、循环、Map、Set

     本文是笔者在看廖雪峰老师JavaScript教程时的个人总结      一些判断条件                 JavaScript把null.undefined.0.NaN和空字符串''视为 ...

  5. jQuery对象与dom对象的转换

    一直以来对于通过jQuery方式获取的对象使不能直接使用JavaScript的一些方法的,开始的时候不理解,现在此案知道,原来jQuery获得的对象并不和我们平时使用getElementById获得的 ...

  6. java.lang.NumberFormatException: For input string: "1608020001 " 错误

    错误: java.lang.NumberFormatException: For input string: "1608020001 "    at java.lang.Numbe ...

  7. MVC5+EF6 入门完整教程十

    本篇是第一阶段的完结篇. 学完这篇后,你应该可以利用MVC进行完整项目的开发了. 本篇主要讲述多表关联数据的更新,以及如何使用原生SQL. 文章提纲 多表关联数据更新 如何使用原生SQL 总结 多表关 ...

  8. easyui的textbox赋值小结

    使用的系统中有个后台,需要填充单号,如下图: 每次往框里面填充都是一样的数据,复制.粘贴,而且当人数颇多的时候,就是体力活. 于是就想到通过执行js代码,自动填充这些数据. chrome下F12,查看 ...

  9. js正则表达式大全(3)

    正则表达式regular expression详述(一) 正则表达式是regular expression,看来英文比中文要好理解多了,就是检查表达式符 不符合规定!!正则表达式有一个功能十分强大而又 ...

  10. placeholder 颜色更改

    ::-webkit-input-placeholder { /* WebKit browsers */ color: #999; } :-moz-placeholder { /* Mozilla Fi ...