java获取字符串指定位置的字符_NO.00302 编程获取两个指定字符串中的最大相同子串并打印...

编程实现以下需求

获取两个指定字符串中的最大相同子串并打印。 

如:s1="asdafghjka", s2="aaasdfg"

       他们的最大子串为"asd

解题思路

1.可从输入获取两个字符串或者程序内指定。

2.比较两个字符串长度,重新将str1,str2分别设置为较长的字符串与较短的字符串。

3.将较短的字符串串进行长度依次递减的子串与较长的字符串比较。

4.考虑有多个最大子串的情况。

具体过程及用到的方法说明

1.封装一个类,在有参构造方法中比较两个字符串长度,重新将str1,str2分别设置为较长的字符串与较短的字符串,如下图:

5a7432aa18348d497494b69abb7c4729.png

2.利用双层for循环,将较短的字符串进行长度依次递减的子串与较长的字符串比较。

3.假设有不止一个最大相同字符串,用append将其连接起来并用“,”隔开。

4.找到最大字符串后将其打印并返回。

5.若未找到相同字符串打印相应信息并返回

f51514d1270aed2730f12dac9324335e.png

6.编写测试类,从键盘输入获取两个字符串

4200456feef7dff35b0634ea8a72547f.png

运行结果

9d1b42b812632cc0030e4ff43115f6f9.png 1f6629a58a576b746ea04a7a06004c8e.png

图|有最大相同子串

f016e0161910ac120f450a9234b6592c.png

图|无相同字符

小结

知识点:

  1. StringBuilder类的使用

  2. ▪ 方法 append(String str) 的使用,将指定类型字符串追加到此序列。


  3. ▪ 方法 deleteCharAt(int index) 的使用,按此顺序删除指定位置的 char 。

  4. String类的使用

    ▪ 方法 contains(CharSequence s) 的使用,当且仅当此字符串包含指定的char值序列时,才返回true。

    ▪方法 substring(int beginIndex, int endIndex) 的使用,返回一个字符串,该字符串是此字符串的子字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值