java关于判断输入字符串非法输入问题,如何解决?

java如何判断非法输入?
要求:输入的字符串必须是7位长度,并且组成该字符串的字符必须是Y或N,否则输出Not valid


public static void main(String[] args) throws IOException {
        Scanner input = new Scanner(System.in);
        Pattern pattern = Pattern.compile("^[YN]{7}$");
        boolean matches = pattern.matcher(input.next()).matches();
        if (!matches) {
            System.out.println("Not valid");
        }
    }