华为在线编程系列-密码合格验证
来源:互联网 发布:软件如何推广 编辑:程序博客网 时间:2024/05/21 15:42
题目:
- 密码要求:
1.长度超过8位
2.包括大小写字母.数字.其它符号,以上四种至少三种
3.不能有相同长度超2的子串重复
说明:长度超过2的子串 - 输入描述:
一组或多组长度超过2的子符串。每组占一行 - 输出描述
如果符合要求输出:OK,否则输出NG
- 密码要求:
例子:
输入:021Abc9000021Abc9Abc1021ABC9000021$bc9000输出:OKNGNGOK
代码:对三种情况分别进行判断,其中对于第二个要求,可以用一个大小为4的数组来记录字符串的种类数
import java.util.*;public class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); while(scan.hasNext()){ String value = scan.nextLine(); //第一个要求 if(value == null || value.length() <= 8){ System.out.println("NG"); }else{ int[] category = new int[4]; for(int i = 0; i < value.length(); i++){ if(value.charAt(i) <= 'Z' && value.charAt(i) >= 'A'){ category[0] = 1; }else if(value.charAt(i) <= 'z' && value.charAt(i) >= 'a'){ category[1] = 1; }else if(value.charAt(i) <= '9' && value.charAt(i) >= '0'){ category[2] = 1; }else{ category[3] = 1; } } if(category[0] + category[1] + category[2] + category[3] < 3){ System.out.println("NG"); }else{ System.out.println(isValidSubString(value)); } } } } private static String isValidSubString(String str){ for(int i = 3; i < str.length();i++){ String str1 = str.substring(i-3,i); String str2 = str.substring(i,str.length()); if(str2.contains(str1)){ return "NG"; } } return "OK"; }}
0 0
- 华为在线编程系列-密码合格验证
- 《华为机试在线训练》之密码验证合格程序
- 华为在线编程系列-简单密码
- 华为机试在线训练-牛客网(12)密码验证合格程序
- 华为机试在线训练108题:密码验证合格程序
- 华为oj之密码验证合格程序
- 【华为oj】密码验证合格程序
- 华为OJ(密码验证合格程序)
- 华为oj 密码验证合格程序
- 华为机试题:密码验证合格程序
- 华为OJ 密码验证合格程序
- 密码验证合格程序(华为oj)
- 【华为OJ】【017-密码验证合格程序】
- 华为机试---密码验证合格程序
- 【华为 OJ】密码验证合格程序
- 华为oj 密码验证合格程序
- 华为OJ 密码验证合格程序
- 【华为OJ20】密码验证合格程序
- 关于高德地图定位跑到非洲的情况。
- MySQL函数if(expr1,expr2,expr3)
- Markdown 编辑器
- 在Android 5.0中使用JobScheduler
- 虚拟机和真机之间的细微差别
- 华为在线编程系列-密码合格验证
- 百度前端学院—小薇学院—任务三
- 视频播放器监听卡不卡的问题
- Ajax在解析Json的两种方法详解,eval()与 JSON.parse()
- 8. Spring Boot如何实现普通类调用bean
- python 矩阵增加一行或一列
- Oracle ORA-02069 此操作的 global_names 参数必须设置为 TRUE
- 连接redis出错
- SwipeRefreshLayout与ViewPager滑动事件冲突解决