题解 | #密码验证合格程序#

密码验证合格程序

http://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841

import java.util.*;
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            String str=sc.nextLine().trim();
            if(isOK1(str) && isOK2(str)) {System.out.println("OK");} 
            else {System.out.println("NG");} 
        }
    } 
    static boolean isOK1(String s){
        if(s.length()<=8) return false;
        boolean  flags04=true;
        int flags03=0,flags01=0,flags02=0,flags00=0;
        for(int i=0;i<s.length();i++){
            char t=s.charAt(i);
            if(Character.isWhitespace(t)) flags04=false;
            if(Character.isDigit(t)) flags01=1;
            else if(Character.isUpperCase(t)) flags02=1;
            else if(Character.isLowerCase(t)) flags03=1;
            else flags00=1;
        }
        if(!(flags00 + flags01 +flags02 + flags03 >= 3 )&& flags04) return false;
        return true;
    }
    static boolean isOK2(String s){
        Set<String> set = new HashSet<>();
        for(int i=0;i<s.length()-2;i++){
            if(!set.add(s.substring(i,i+3))) return false;
        }
        return true;
    }
}
全部评论

相关推荐

2025-12-15 19:41
已编辑
有赞_前端开发工程师
smile丶snow:尽量保证的一张a4纸吧。为什么工作经历只有公司?如果项目经历是工作里面的,应该写到工作经历里的吧。没有写项目职责,项目全是一个人写的吗?标题大小也好怪。两个项目的分割看不出来是,它和那些项目成功字体是一样大的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务