A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

题目:  1.有一个字符串"woaijavahahajavaaiwo"删除该字符串中所有的"java"并且统计删除了多少个“java”
我做出来了,但是不知道为什么,在字符串两头的java,还有连在一起的java,split方法居然都能将他们拆开,并且能成功得到结果,这是为什么? split方法原理求解
public class Prictice10_1 {
        public static void main(String[] args) {
                String str = "javajavawoaijavahahajavaaiwo";
                String[] str_arr = str.split("java");
                int num = str_arr.length - 1;
                System.out.println("删除了"+num+"个java");
        }
}

2 个回复

倒序浏览
在末尾添加 会失效的,做这种题 还是用indexOf吧,这个底层是ArrayList的集合
回复 使用道具 举报
本帖最后由 &天马星空ぁ 于 2016-9-28 23:28 编辑

你这样写的返回值的意识就是说  切割的次数是总个数-1,  如  切割一次,就是两段   切割两次  就是三段    所以切割的此时就是段数-1,也就是数组的长度-1
或者你也可以这样写
[Java] 纯文本查看 复制代码
String str = "javajavawoaijavahahajavaaiwo";
                String s=str.repaceAll(java,"");
                int num = str.length()-s.length;                System.out.println(num/4);

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马