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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.util.regex.Matcher;
import java.util.regex.Pattern;
/*
  如果字符串中的’g’的相邻左边或者右边有另外一个’g’,则’g’在这个字符串中是happy的,
如果字符串中所有的’g’都是happy的则返回true,否则返回false。
*/
public class Ghappy {
        public static void main(String[] args) {
       String sr ="ggsdwwehappydfg";
       System.out.println(method1(sr));
        }
        public static  boolean method1(String s){
                //字符串长度为1,不可能happy
                if(s.length()<=1){
                        return false;
                }
                //判断第一个元素为g的情况
                else if(s.charAt(0)=='g'&&s.charAt(1)!='g'){
                        return false;
                }
                //判断去掉头,尾字符后的情况,不然判断左或者右相邻的元素会提示索引越界异常
                for (int i = 1; i < s.length()-1; i++) {
                        if(s.charAt(i)=='g'&& (s.charAt(i+1)!='g'&&s.charAt(i-1)!='g'))
                                return false;
                        //判断最后一个元素为g的情况
                    if(s.charAt(s.length()-1)=='g'&&s.charAt(s.length()-2)!='g'){
                                return false;
                        }
                }
                //如果上述判断后都没有返回false,表示字符串真的是happy了~
                return true;
        }
        private static boolean method2(String s) {
                if(!s.contains("g")){
                        return false;
                }
                String regex ="g+";
                Pattern p =Pattern.compile(regex);
                Matcher m=p.matcher(s);
                while(m.find()){
                        String s1 =m.group();
                        if(s1.length()==1){
                                return false;
                        }
                }
                return true;
        }
}

评分

参与人数 5黑马币 +17 收起 理由
rebirf + 5 刻苦钻研
嘎嘎笔 + 5
18219116868 + 1
guojiayuan + 1
wyh2016 + 5

查看全部评分

9 个回复

倒序浏览
very nice!!!
回复 使用道具 举报

大黑是否还有不同解法?
回复 使用道具 举报
我今天最想说:「爱生活,更爱黑马论坛APP!——来自黑马专属客户端」.
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
Mr.leung 发表于 2016-12-15 03:10
我今天最想说:「爱生活,更爱黑马论坛APP!——来自黑马专属客户端」.

其实我想说的是me too~
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
18219116868 发表于 2016-12-15 12:13
还是正则简单哈

是的,正则无解的存在~

来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
我也是用的正则…顶顶顶
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
rebirf 初级黑马 2016-12-15 23:23:00
10#
代码太长,懒得看……
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马