描述

密码要求:

1.长度超过8位

2.包括大小写字母.数字.其它符号,以上四种至少三种

3.不能有长度大于2的不含公共元素的子串重复 (注:其他符号不含空格或换行)

数据范围:输入的字符串长度满足 1≤n≤100 1 \le n \le 100 \ 1≤n≤100

输入描述:

一组字符串。

输出描述:

如果符合要求输出:OK,否则输出NG

示例1

输入:

021Abc9000
021Abc9Abc1
021ABC9000
021$bc9000

输出:

OK
NG
NG
OK

代码:

import java.util.*;
public class Main{public static void main(String args[]){String s=null;Scanner sc=new Scanner(System.in);while(sc.hasNext()){s=sc.next();int len=s.length();if(len<=8){System.out.print("NG");}else{int dif=0;int xiaoxie=0;int daxie=0;int teshu=0;int shuzi=0;char c;// boolean flag=false;for(int i=0;i<len;i++){c=s.charAt(i);if(Character.isLetterOrDigit(c)){if(Character.isLowerCase(c)){xiaoxie=1;}else if(Character.isUpperCase(c)){daxie=1;}else if(Character.isDigit(c)){shuzi=1;}}else{int temp=Integer.valueOf(c);if(temp!=32&&temp!=10){teshu=1;}}}dif=teshu+xiaoxie+daxie+shuzi;// System.out.println("dif=====>"+dif);if(dif<3){System.out.println("NG");}else{String t;String qian;int i;for(i=3;i<len;i++){t=s.substring(i-2,i+1);qian=s.substring(0,i-2);if(qian.contains(t)){//      System.out.println("相同穿==》"+t+"===="+qian);break;}}if(i==len){System.out.println("OK");}else{System.out.println("NG");}}}}}
}

HJ20 密码验证合格程序 Java相关推荐

  1. Java密码验证合格程序

    密码要求: 1.长度超过8位 2.包括大小写字母.数字.其它符号,以上四种至少三种 3.不能有相同长度超2的子串重复 说明:长度超过2的子串 输入描述: 一组或多组长度超过2的子符串.每组占一行 输出 ...

  2. 牛客网--密码验证合格程序(Java)

    题目描述 密码要求: 1.长度超过8位 2.包括大小写字母.数字.其它符号,以上四种至少三种 3.不能有相同长度超2的子串重复 说明:长度超过2的子串 输入描述: 一组或多组长度超过2的子符串.每组占 ...

  3. 华为机试HJ20:密码验证合格程序

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 密码要求: 1.长度超过8位 2.包括大小写字母.数字.其它符号,以上四种至少三种 ...

  4. 【华为 OJ】密码验证合格程序

    密码要求: 1.长度超过8位 2.包括大小写字母.数字.其它符号,以上四种至少三种 3.不能有相同长度超2的子串重复 说明:长度超过2的子串 输入描述: 一组或多组长度超过2的子符串.每组占一行 输出 ...

  5. java简单密码验证程序

    java简单密码验证程序 package demo01;import java.util.Scanner;/*** java模拟密码验证问题* 从键盘上录入6位密码,验证密码是不是6位,如果不是6位提 ...

  6. Java某人再玩游戏的时候输入密码123456后成功进入游戏(输错5次则被强行退出)要求用程序实现密码验证的过程。

    某人再玩游戏的时候输入密码123456后成功进入游戏(输错5次则被强行退出)要求用程序实现密码验证的过程.要求如下: 使用Sysytem.in包装为字符流读取键盘输入 BufferedReader对字 ...

  7. java---某人在玩游戏的时候输入密码123456后成功进入游戏(输错5次则被强行退出),要求用程序实现密码验证的过程。

    题目: 某人在玩游戏的时候输入密码123456后成功进入游戏(输错5次则被强行退出),要求用程序实现密码验证的过程,要求如下: (1) 使用System.in包装为字符流读取键盘输入. (2) Buf ...

  8. java正则表达式验证密码_最新密码验证正则表达式

    正则表达式验证密码功能在项目中经常被使用到,但是很多朋友还是不大会使用密码正则表达式进行验证,本文小编为大家整理了php密码验证正则表达式.python密码强度正则,当然还有大家常用到的js正则表达式 ...

  9. 作为一名合格的JAVA程序员需要点亮那些技能树?

    转自:https://zhuanlan.zhihu.com/p/26035486 先看看这些程序员技能树,你掌握或了解哪些?OMG竟然有么多---震精!震精!!! 这是从450家企业的招聘信息中统计而 ...

最新文章

  1. oracle根据一张表更新另外一张表
  2. 大数据为何让传统银行焦虑?
  3. MySQL--数据库基础
  4. 第十二单元文件的归档/压缩/传输
  5. python医药数据,PostgreSQL+Python实现药品规格数值与单位拆分
  6. VBS - 空变量判断详解
  7. mqtt压力测试工具emqtt
  8. 区块链架构与扩容方案
  9. dubbo调用原理,过程(知其然,知其所以然)
  10. 物联网发展跨越拐点!2020 AIoT产业年终盛典圆满落幕
  11. Android Studio 解决数据库手机电脑不同步
  12. node-redis 秒杀高并发案例
  13. 微信公众号开发系统入门教程之公众号与小程序、APP的区别
  14. 怎样申请建立一个全新的顶级域名后缀?
  15. MTCNN中的IOU详解
  16. Java核心技术卷一基础知识第10版demo实例
  17. RC专题:阻容串并联电路
  18. 启动虚拟机异常(完整版)——如果已在 BIOS/固件设置中禁用 Intel VT-x,或主机自更改此设置后从未重新启动,则Intel VT-x处于禁用状态
  19. 大数据之Python数据分析 实训 信用卡客户风险评价之二、构建信用卡客户风险评价关键特征
  20. python最佳ide_2014年最佳PHP IDE-调查结果

热门文章

  1. 浅谈C语言中数组理解
  2. 什么软件运用计算机处理图像,平面设计中计算机图形图像处理软件的运用探究...
  3. MySQL执行过程(一条SQL从Java到数据库都经历了什么)
  4. 计算几何-求球冠体积
  5. wi ndows自带截图工具,不想装截图工具?这里有 5 个 Windows 自带截图小技巧
  6. C++ 网络爬虫 之 自动获取小米笔记本的最新驱动信息
  7. 标题 Python生成二维码和解码
  8. USB 中MTP和UMS 模式
  9. 浅谈IM系统之消息必达
  10. 佳能镜头编码_基于优化镜头的编码,现在可用于4k流