【248天】我爱刷题系列(7)

叨叨两句

  1. 坚持作一件事,就会有人看到!
  2. 想起相距的时间、空间,内心就感到有些悲苦,不肯定性实在是太多了啊,惟有用行动破之!

题16:标记状态+累加思想的典型运用

题目描述

书写一个类,类名为Itheima;app

类中有一个方法,方法名gHappy;code

若是字符串中的’g’的相邻左边或者右边有另一个’g’,则’g’在这个字符串中是happy的,
若是字符串中全部的’g’都是happy的则返回true,不然返回false。字符串

提示

方法调用 指望值
gHappy("xxggxx") true
gHappy("xxgxx") false
gHappy("xxggyygxx") false
public class Itheima {
    public boolean gHappy(String str){

        str = " " + str + " ";
        boolean sumFlag = true;
        boolean flag = false;
        
        for(int i = 1; i < str.length() - 1; i++){
            if(str.charAt(i) == 'g'){
                if(str.charAt(i + 1) == 'g' || str.charAt(i - 1) == 'g'){
                    flag = true;
                } else {
                    flag = false;
                }
                sumFlag = sumFlag && flag;
            }
        }
        return sumFlag && flag;
    }
}