/**

* 编程获取两个指定字符串中的最大相同子串

* 如:str1="asdafghjka", str2="aaasdfg" 他们的最大子串为"asd"

* 提示:让较短字符串依次递减,并要求每次递减之后的子字符串连续, 这样就能找出str2的全部子串

* str2 7个字符 索引:0-6 aaasdfg

* str2 6个字符 索引:0-5 aaasdf 1-6 aasdfg

* str2 5个字符 索引:0-4 aaasd 1-5 aasdf 2-6 asdfg

* str2 4个字符 索引:0-3 aaas 1-4 aasd 2-5 asdf 3-6 sdfg

* str3 3个字符 索引:0-2 aaa 1-3 aas 2-4 asd 3-5 sdf 4-6 dfg

* str2 2个字符 索引:0-1 aa 1-2 aa 2-3 as 3-4 sd 4-5 df 5-6 fg

* str2 1个字符 索引:0 a 1 a 2 a 3 s 4 d 5 f 6 g

*/

public class job2Test {

static String minStr;

static String maxStr;

static String subMinStr;// minStr的子字符串

public static String test(String str1, String str2) {

// 判断str1和str2哪个是较短的字符串

if (str1.length() < str2.length()) {

minStr = str1;

maxStr = str2;

} else {

minStr = str2;

maxStr = str1;

}

System.out.println("maxStr: " + maxStr + ", " + "minStr: " + minStr);

// 找出相同的最长子字符串

boolean flag=true;

for (int i = 0; i < minStr.length(); i++) { // i 控制行数

if (!flag) break;

System.out.print("subMinStr: ");

for (int j = 0; j <= i; j++) {// j 控制每一行的列数及str2字符串开始下标

// subStr2是str2所有可能的子字符串

subMinStr = minStr.substring(j, minStr.length() - i + j); // minStr.length()-i+j 控制str2字符串结束下标

System.out.print(subMinStr + " ");

if (maxStr.contains(subMinStr)) { // 如果maxStr包含了minStr或者minStr的子字符串,那么就结束循环

flag = false;

break;

}

}

System.out.println();

}

return subMinStr;

}

public static void main (String[]args){

String MaxSubStr = test("asdafghjka", "aaasdfg");

System.out.println("相同的最大字符串是:" + MaxSubStr);

}

}

运行结果:

"F:\Program Files\JDK\JDK11\bin\java.exe" "-javaagent:F:\Program Files\IDEA\IntelliJ IDEA 2020.1.1\lib\idea_rt.jar=14247:F:\Program Files\IDEA\IntelliJ IDEA 2020.1.1\bin" -Dfile.encoding=UTF-8 -classpath "F:\Program Files\drag hook\Big Data\Project\java\javase\out\production\javase" com.lagou.model3.job.job2Test

maxStr: asdafghjka, minStr: aaasdfg

subMinStr: aaasdfg

subMinStr: aaasdf aasdfg

subMinStr: aaasd aasdf asdfg

subMinStr: aaas aasd asdf sdfg

subMinStr: aaa aas asd

相同的最大字符串是:asd

Process finished with exit code 0

5

java 截取指定字母 重复_用JAVA编程获取两个指定字符串中的最大相同子串相关推荐

  1. java 截取优酷视频_通过JAVA获取优酷视频

    通过JAVA获取优酷视频,现在很多社会网站都有这个功能,用户输入优酷视频地址后,能找到对应的视频及视频的缩略图,有些社区网站还能获取到视频的时长. 比如:新浪微博就有这个功能,当用户输入视频网址后,就 ...

  2. 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目

    王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...

  3. java文档检测重复_使用Simian进行重复代码检测

    一.概述 Simian是一个可跨平台使用的重复代码检测工具,有商用和免费两种使用渠道,官方网址为:http://www.harukizaemon.com/simian/installation.htm ...

  4. java byte char io流_吃透Java IO:字节流、字符流、缓冲流

    前言有人曾问fastjson的作者(阿里技术专家高铁):"你开发fastjson,没得到什么好处,反而挨了骂背了锅,这种事情你为什么要做呢?" 高铁答道:"因为热爱本身, ...

  5. Java黑皮书课后题第6章:*6.20(计算一个字符串中字母的个数)编写一个方法,使用下面的方法体计算字符串中的字母个数。编写一个测试程序,提示用户输入字符串,然后显示字符串中的字母个数

    6.20(计算一个字符串中字母的个数)编写一个方法,使用下面的方法体计算字符串中的字母个数.编写一个测试程序,提示用户输入字符串,然后显示字符串中的字母个数 题目 题目描述 破题 代码 运行示例 题目 ...

  6. java 多态判断非空_收藏Java 面试题全梳理

    脚本之家 你与百万开发者在一起 来源 | Java建设者(ID:javajianshe) 作者 |cxuan 如若转载请联系原公众号 Java 基础篇 Java 有哪些特点 并发性的:你可以在其中执行 ...

  7. java 自动生成文档_[原]java开发文档的自动生成方式

    对于Java注释我们主要了解三种: // 注释一行 /* ...... */ 注释若干行 第三种,文档注释: /** ...... */ 注释若干行,并写入 javadoc 文档 通常这种注释的多行写 ...

  8. java图片切割类任务书_基于Java的截图工具(可储存编辑)的设计与实现毕业论文+任务书+翻译及原文+答辩PPT+源码+辅导视频...

    基于Java的截图工具(可储存编辑)的设计与实现 摘要 当今时代是飞速发展的信息时代,人们在对信息的处理中对图像的处理量与日俱增,这一点在文档人员上显得非常突出. 本软件采用Java语言进行模拟qq截 ...

  9. java设计一个查询模块_采用Java实现的汉语拼音查询模块

    0引言现有管理信息系统的数据库中存储了大量的中文信息,中文信息的检索是MIS的重要功能,对于中文字段的常见查询方法是输入汉字字符串,但是此方法需要过多的击键次数,例如,查询人名为"王晓明&q ...

最新文章

  1. 大规模使用 Apache Kafka 的20个最佳实践
  2. MySQL 性能优化及常用命令
  3. 上海临港新片区:新建数据中心CPUE值≤1.25 正建国际互联网数据专用通道
  4. JAVA笔记14__多线程共享数据(同步)/ 线程死锁 / 生产者与消费者应用案例 / 线程池...
  5. docker --- 梳理 Dockerfile docker-compose.yml
  6. python教程自带数据库_python教程自带数据库 | Python学哪个数据库
  7. 论文浅尝 | 基于知识图谱难度可控的多跳问题生成
  8. python获取shell输出及返回码_如何执行shell命令获取Python中命令后的输出和pwd
  9. CVPR2020| 最新CVPR2020论文抢先看,附全部下载链接!
  10. 群晖远程访问服务器,如何通过远程访问访问Synology中的所有数据
  11. dialogfield
  12. java gb28181网关_国标GB28181协议对接网关
  13. 人体的神经系统图 分布,人的神经系统分布图
  14. excel VBA会说话的工作表
  15. DXP导入网络报表的方法
  16. java 素数 五行_c语言动态烟花小程序代码
  17. 获取当前登录用户的IP地址代码
  18. android xml 平铺,Android 图片平铺实现方式
  19. 海天、李锦记试水“懒人调料”,做饭神器究竟有多神?
  20. Axhub插件一键复制Iconfont图标到Axure

热门文章

  1. mac os 录屏快捷键_如何才能高效的使用mac笔记本?mac笔记本高效使用教程
  2. 工作电子邮件怎么注册?
  3. Camtasia Studio8如何提高视频画质和清晰度
  4. Oracle 用户账号解锁、密码重置、设置密码永不过期
  5. qt creator 运行 出现 “can not open .... jom for write 解决方案
  6. <python开发> python开发 环境搭建(windows)
  7. 系统首页优化-合并数据请求并发处理数据
  8. Codeforces 1169B Pairs
  9. kirin710f是什么处理器_海思710f相当于骁龙哪个型号
  10. # 靠谱:开源IM项目OpenIM压测程序介绍-自己动手压测性能和稳定性