java提交oj时显示的错误如何解决

问题如下:
在一周的7天内,如果学生连续两天以上未进行核酸PCR检测,或者如果在7天内检测次数少于或等于3次,他/她将得到相应的注意。“Y”表示该测试完成,“N”表示测试尚未完成。我们使用长度为7的字符串说明学生在某一周内参与核酸PCR检测的情况。使用系统时,用户需要输入学生ID和参与状态(7位字符串)。当输入满足上述要求时系统将输出:“满足”,学生ID必须为八位整数且首位不为0,且参与状态不能出现其他字母,否则输出:“不符合要求”

import java.util.Scanner;
import java.util.regex.Pattern;

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int id = input.nextInt();
        String s = input.next();
        boolean a = (id>=10000000 && id<=99999999);
        boolean b = (id<10000000 || id>99999999);
        Pattern pattern = Pattern.compile("^[YN]{7}$");
        boolean matches = pattern.matcher(s).matches();
        if (!matches || b){
            System.out.print("Not Valid");
        }
        String[] split = s.split("");
        int sum=0;
        boolean flag = false;
        for (int i = 0; i<split.length-1; i++){
            if (split[i].equals("Y")){
                sum++;
                if (split[i].equals(split[i+1])){
                    flag=true;
                }
            }
        }
        if (a && sum>=3 && flag){
            System.out.print("Good, keep it up!");
        }
        if (a && (sum<3 || !flag)){
            System.out.print("Has not participated in Nucleic Acid PCR tests as required!");
        }
    }
}

我不知道有什么地方没考虑到,提交到oj上只有50的成功率,各位帮忙看看那里有问题