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

密码验证合格程序

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;
    }
}
全部评论

相关推荐

湫湫湫不会java:1.在校经历全删了2.。这些荣誉其实也没啥用只能说,要的是好的开发者不是好好学生3.项目五六点就行了,一个亮点一俩行,xxx技术解决,xxx问题带来xxx提升。第一页学历不行,然后啥有价值的信息也没有,到第二页看到项目了,第一个项目九点,第二个项目像凑数的俩点。总体给人又臭又长,一起加油吧兄弟
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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