JAVA比较两个字符串大小 查找相同字符串

  次阅读 作者:智能小宝 来源:互联网 2016-01-19 12:32 我要评论(0)

作为一个初学Java的小菜鸟,每天过着3点一线的生活,每天12个小时的学习虽然辛苦,但是收获确实巨大的,每次编出一个像样点的程序,自己都会觉得非 常的开心,下面就给大家分享一下,我在Java学习中遇到的困难和解决问题的方法。

如题,本次小子在做题库时候遇到了这个问题,思考了好一会才有所想法,后来修修改改,经过一个多小时才把这题给搞定(不得不说自己的水平很菜啊,不过 我们才刚学到数组,字符串是自己钻研的)。

这个题目最大的困难之处在于如何找到所有相同的字符串,然后进行比较,所以解决这个问题的思路就是如下这样。

首先,要比较两个字符串的大小,通过大的字符串去indexof小的字符串,这样才能更精确吗,相信这个步骤大家都会,我就不做赘述了。

然后,我们要通过双循环来查找相同的字符串,在做这个的时候,首先我们先查下Java的API,String类型里面有一个 substring(int beginIndex, int endIndex),调用这个函数,会返回一个新字符串,它是此字符串的一个子字符串。,学会了这个方法,我们就不难写出以下代码

String[] str = new String[50]; //新建一个字符串数组,这个可以根据你输入的字符长度进行改变

int n = 0;

for (int i = 0; i < s2.length(); i++) {

for (int j = i + 1; j <= s2.length(); j++) {

if (s1.indexOf(s2.substring(i, j)) != -1) { //循环遍历相同的字符串

str[n] = s2.substring(i, j);

n++;

}

}

}

此段代码中if (s1.indexOf(s2.substring(i, j)) != -1)为核心代码,因为本文面向的都是和我一样的小菜,所以就和大家具体说说,substirng 不断通过双循环返回各个长度的s2的子字符串,s1通过indexof的方法去查找s1中有没有和返回的s2的子字符串相同的字符串,如果找到相同的就把 它放到我们已经建好的字符串数组str中。

然后我们把找到的相同字符串进行长度的比较,这个相信给小菜也都会,代码如下:

int maxLen = str[0].length(); //假设第一个值为最大值

for (int i = 1; i < n; i++) {

if (str[i].length() >= maxLen)

maxLen = str[i].length();

}

通过字符串长度的比较,这样我们就可以把最大的相同字符串给找出来了,登登登~!~!~!

剩下的就是输出了,同样把代码贴出来。

for (int i = 0; i < n; i++) {

if (str[i].length() == maxLen)

System.out.println(str[i]);

}

如果各位觉得我赘述的过多,想要直接要代码的话,本小子同样乐于分享,把完整的代码贴给大家,(已经实现过了,可以直接用哦~)嘿嘿,本篇文章是本小 子第一次发表技术类的帖子,虽然题目很简单,但是乐于分享才是我们程序员极客精神的体现吗~如有不足,请各位看官尽情提出埃

完整代码

public class Test {

public static void main(String[] args) {

Scanner in=new Scanner(System.in);

String a=in.next();

String b=in.next();

subStr(a, b);

}

public static void subStr(String s1, String s2) {

String[] str = new String[50];

int n = 0;

for (int i = 0; i < s2.length(); i++) {

for (int j = i + 1; j <= s2.length(); j++) {

if (s1.indexOf(s2.substring(i, j)) != -1) {

str[n] = s2.substring(i, j);

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...