黑马程序员技术交流社区

标题: 两个字符串,判断相同字符出现几次 [打印本页]

作者: 龙哮天    时间: 2017-3-31 22:21
标题: 两个字符串,判断相同字符出现几次
如题,s1与s2,用substring对s1截取字符串长度为s2的字符串,然后使用equals进行对比,若为真则计数器++
作者: zhaorui    时间: 2017-3-31 22:30
你要是把相同字符串截断了怎么办

作者: 龙哮天    时间: 2017-3-31 22:31
1.键盘录入一个大字符串,再录入一个小字符串
public static void main(String[] args) {
                //两个字符串s1和s2
                String s1 ="javajavavavajavajvajjvava";
                String s2 = "va";
                //定义计数器count
                int count = 0;
                //计数
                for (int a = 0; a < s1.length()-4; a++) {
                //if判断如果对s1截取长度为s2的字符串与s2相同,则计数器++
                        if (s1.substring(a, a+s2.length()).equals(s2)) {
                                count++;
                        }
                }
                // 输出
                System.out.println(count);
        }


作者: 龙哮天    时间: 2017-3-31 22:33
zhaorui 发表于 2017-3-31 22:30
你要是把相同字符串截断了怎么办

因为使用for循环,所以会从索引为0的位置开始截取,依次递增,应该不会影响吧
作者: 精诚所至    时间: 2017-3-31 22:48
for循环中的判断条件语句不对

作者: 龙哮天    时间: 2017-3-31 22:51
精诚所至 发表于 2017-3-31 22:48
for循环中的判断条件语句不对

666 应该是s1.length-2因为之前判断的是java所以-4
作者: 精诚所至    时间: 2017-3-31 22:55
龙哮天 发表于 2017-3-31 22:51
666 应该是s1.length-2因为之前判断的是java所以-4

应该改成-s2.length()





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2