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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Ak-47 中级黑马   /  2016-3-30 00:46  /  944 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

需求:我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程
                将字符串还原成:“我要学编程”。
         师兄师姐,这个作业不会做啊,请教下{:2_36:}

6 个回复

倒序浏览
public void test7(){
                String s = "我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程";
                StringBuffer sb = new StringBuffer();
                int len = s.length();
                int i = 0;
                boolean flag = false;
         
                for (i = 0; i < len; i++) {
                    char c = s.charAt(i);
         
                    if (s.indexOf(c) != s.lastIndexOf(c)) {
                        flag = false;
                    }else{
                        flag = true;
                    }
                    if(i==s.indexOf(c))
                        flag=true;
                    if (flag) {
                        sb.append(c);
                    }
                }
                sb.deleteCharAt(1);
                System.out.print(sb.toString());
            
               
        }
回复 使用道具 举报
这个是正则表达式的题目啊,正确方法是
  1. String s =  "我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程";
  2. String s2 = s.replaceAll("\\.+","");//把所有的.替换成空串
  3. String s3 = s2.replaceAll("(.)\\1+","$1");//把所有叠词替换成单字
  4. System.out.println(s3);
复制代码
回复 使用道具 举报
ameanboy 发表于 2016-3-30 17:54
这个是正则表达式的题目啊,正确方法是

正解,需要用正则
回复 使用道具 举报
正解,视屏上有
回复 使用道具 举报
String str ="我我....我...我.要...要要...要学....学学..学.编..编编.编.程.程.程..程";
                char [] arr = str.toCharArray();
                LinkedHashSet<Character> list = new LinkedHashSet<Character>();
                for(int i = 0; i < arr.length;i++){
                if('.' == arr[i]){}
                        else{
                                list.add(arr[i]);
                                }
                }
               
                for(Character c : list){
                System.out.print(c);
                }
                System.out.println();
回复 使用道具 举报
正则表达式简单
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马