题目

密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。
一、密码长度:
5 分: 小于等于4 个字符
10 分: 5 到7 字符
25 分: 大于等于8 个字符
二、字母:
0 分: 没有字母
10 分: 全都是小(大)写字母
20 分: 大小写混合字母
三、数字:
0 分: 没有数字
10 分: 1 个数字
20 分: 大于1 个数字
四、符号:
0 分: 没有符号
10 分: 1 个符号
25 分: 大于1 个符号
五、奖励:
2 分: 字母和数字
3 分: 字母、数字和符号
5 分: 大小写字母、数字和符号
最后的评分标准:

= 90: 非常安全
= 80: 安全(Secure)
= 70: 非常强
= 60: 强(Strong)
= 50: 一般(Average)
= 25: 弱(Weak)
= 0: 非常弱

对应输出为:
VERY_WEAK,
WEAK,
AVERAGE,
STRONG,
VERY_STRONG,
SECURE,
VERY_SECURE

   请根据输入的密码字符串,进行安全评定。注:字母:a-z, A-Z数字:-9符号包含如下: (ASCII码表可以在UltraEdit的菜单view->ASCII Table查看)!"#$%&'()*+,-./     (ASCII码:x21~0x2F):;<=>?@             (ASCII<=><=><=><=><=>码:x3A~0x40)[\]^_`              (ASCII码:x5B~0x60)

{|}~ (ASCII码:x7B~0x7E)
接口描述:

Input Param
String pPasswordStr: 密码,以字符串方式存放。
Return Value
根据规则评定的安全等级。

public static Safelevel GetPwdSecurityLevel(String pPasswordStr)
{
/在这里实现功能/
return null;
}

知识点 枚举
运行时间限制 10M
内存限制 128
输入
输入一个string的密码
输出
输出密码等级
样例输入 38$@NoNoNo
样例输出 VERY_SECURE

============================================================

三次答案错误
完全不理解哪错了

============================================================


package package02;import java.util.Scanner;//密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。
//一、密码长度:
//5 分: 小于等于4 个字符
//10 分: 5 到7 字符
//25 分: 大于等于8 个字符
//二、字母:
//0 分: 没有字母
//10 分: 全都是小(大)写字母
//20 分: 大小写混合字母
//三、数字:
//0 分: 没有数字
//10 分: 1 个数字
//20 分: 大于1 个数字
//四、符号:
//0 分: 没有符号
//10 分: 1 个符号
//25 分: 大于1 个符号
//五、奖励:
//2 分: 字母和数字
//3 分: 字母、数字和符号
//5 分: 大小写字母、数字和符号
//最后的评分标准:
//>= 90: 非常安全
//>= 80: 安全(Secure)
//>= 70: 非常强
//>= 60: 强(Strong)
//>= 50: 一般(Average)
//>= 25: 弱(Weak)
//>= 0:  非常弱
//
//对应输出为:
//VERY_WEAK,
//WEAK,
//AVERAGE,
//STRONG,
//VERY_STRONG,
//SECURE,
//VERY_SECURE
//
//
//请根据输入的密码字符串,进行安全评定。
//注:
//字母:a-z, A-Z
//数字:-9
//符号包含如下: (ASCII码表可以在UltraEdit的菜单view->ASCII Table查看)
//!"#$%&'()*+,-./     (ASCII码:x21~0x2F)
//:;<=>?@             (ASCII<=><=><=><=><=>码:x3A~0x40)
//[\]^_`              (ASCII码:x5B~0x60)
//{|}~                (ASCII码:x7B~0x7E)
//接口描述:
//
//Input Param
//String pPasswordStr:    密码,以字符串方式存放。
//Return Value
//根据规则评定的安全等级。
//
//
//public static Safelevel GetPwdSecurityLevel(String pPasswordStr)
//{///*在这里实现功能*/
//return null;
//}
//
//
//
//知识点   枚举
//运行时间限制    10M
//内存限制  128
//输入
//输入一个string的密码
//输出
//输出密码等级
//样例输入  38$@NoNoNo
//样例输出  VERY_SECURE
public class oj034 {public int getPassWordScore(String password){int score=0;
//       一、密码长度:
//             5 分: 小于等于4 个字符
//             10 分: 5 到7 字符
//             25 分: 大于等于8 个字符int length=password.length();if(length<=4){score+=5;}if(length>=5&&length<=7){score+=10;}if(length>=8){score+=25;}int word=0;int WORD=0;int number=0;int sign=0;for(int i=0;i<length;i++){char c=password.charAt(i);if('a'<=c&&c<='z'){word++;}else if('A'<=c&&c<='Z'){WORD++;}else if('0'<=c&&c<='9'){number++;}else {sign++;}}
//       二、字母:
//         0 分: 没有字母if(word==0&&WORD==0) {score+=0;}
//         10 分: 全都是小(大)写字母else if(word==0||WORD==0) {score+=10;}
//         20 分: 大小写混合字母else if(word!=0&&WORD!=0) {score+=20;}//       三、数字:
//             0 分: 没有数字if(number==0) {score+=0;}
//             10 分: 1 个数字if(number==1) {score+=10;}
//             20 分: 大于1 个数字if(number>1) {score+=20;}//      四、符号:
//             0 分: 没有符号if(number==0) {score+=0;}
//             10 分: 1 个符号if(number==1) {score+=10;}
//             25 分: 大于1 个符号if(number>1) {score+=25;}//             五、奖励://             5 分: 大小写字母、数字和符号    if(number!=0&&sign!=0&&word!=0&&WORD!=0){score+=5;}//             3 分: 字母、数字和符号else if((word+WORD)!=0&&number!=0&&sign!=0){score+=3;}
//                 2 分: 字母和数字else if((word+WORD)!=0&&number!=0){score+=2;}return score;}public static void main(String[] args) {Scanner scanner=new Scanner(System.in);String password=scanner.nextLine();oj034 oj=new oj034();int score=oj.getPassWordScore(password);
//      >= 90: 非常安全
//                 >= 80: 安全(Secure)
//                 >= 70: 非常强
//                 >= 60: 强(Strong)
//                 >= 50: 一般(Average)
//                 >= 25: 弱(Weak)
//                 >= 0:  非常弱
//
//          对应输出为:
//            VERY_WEAK,
//             WEAK,
//             AVERAGE,
//             STRONG,
//             VERY_STRONG,
//             SECURE,
//             VERY_SECURE if(score>=90){System.out.print("VERY_SECURE");}else  if(score>=80){System.out.print("SECURE");}else  if(score>=70){System.out.print("VERY_STRONG");}else  if(score>=60){System.out.print("STRONG");}else  if(score>=50){System.out.print("AVERAGE");}else  if(score>=25){System.out.print("WEAK");}else{System.out.print("VERY_WEAK");}}}

华为OJ训练之0034-170112-密码强度等级相关推荐

  1. 华为OJ——密码强度等级

    题目描述 密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分. 一.密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二.字母: 0 分 ...

  2. 华为OJ(密码强度等级)

    题目:密码强度等级 描述 密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分. 一.密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二 ...

  3. 【华为OJ】【086-密码强度等级】

    [华为OJ][算法总篇章] [华为OJ][086-密码强度等级] [工程下载] 题目描述 密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分. 一.密码长度:5 分: 小于等于4 个字符1 ...

  4. 华为机试:密码强度等级、百钱买百鸡问题

    1.密码强度等级 题目描述 密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分. 一.密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 ...

  5. 循环相乘取整法C语言,华为OJ机试题目:两个大整数相乘(纯C语言实现两个大整数相乘,两种方法实现大数相乘)...

    题目描述: 输出两个不超过100位的大整数的乘积. 输入: 输入两个大整数,如1234567 123 输出: 输出乘积,如:151851741 样例输入: 1234567 123 样例输出: 1518 ...

  6. 【字符串2】(删除公共字符、合法括号序列判断、两种排序方法、密码强度等级)

    字符串题集 1. 删除公共字符 题目描述 题目分析 C++代码 2. 合法括号序列判断 题目描述 题目分析 C++代码 3. 两种排序方法 题目描述 题目分析 C++代码 4. 密码强度等级 题目描述 ...

  7. 华为交换机如何清除console口密码

    环境 华为S5735S-L24T4S-A Software Version V200R019C10SPC500 问题描述 华为交换机如何清除console口密码 解决方案 1.连接好调试线,重启交换机 ...

  8. 【华为OJ】【042-矩阵乘法】

    [华为OJ][算法总篇章] [华为OJ][042-矩阵乘法] [工程下载] 题目描述 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C. 这个矩阵的每个元 ...

  9. 【算法刷题日记之本手篇】井字棋与密码强度等级

    ⭐️前面的话⭐️ 本篇文章介绍来自牛客试题广场的两道题题解,分别为[井字棋]和[密码强度等级],展示语言java.

最新文章

  1. 数据与计算机通信第八版pdf,数据与计算机通信(第八版)(英文版)
  2. CrazyWing:Python自动化运维开发实战 八、Python数据类型之字符串
  3. tab 触发ajax请求,防止重复发送ajax请求的思索
  4. 计算机说课如何做课件ppt,《我的新工具——计算机》说课课件.ppt
  5. linux deepin安装virtualbox 6.1命令
  6. Redis之CentOS7安装配置Redis
  7. CF1063B Labyrinth
  8. Valgrind概述
  9. 拼图游戏的设计与实现
  10. Hive:用Java代码通过JDBC连接Hiveserver
  11. Centos7中systemctl命令详解
  12. 一篇文章搞定:扫码登录实现原理
  13. 【元胞自动机】基于matlab保守策略元胞自动机三车道(不开放辅路,软件园影响)交通流模型【含Matlab源码 1294期】
  14. 什么是Web全栈工程师
  15. 层次分析法(AHP法)
  16. Android10 mockLocation 模拟定位
  17. 超火的微信小说小程序源码-自带采集带安装教程
  18. 使用 yarn 安装 marked
  19. 顺序存储二叉树和线索化二叉树
  20. 阿里云OSS对象存储

热门文章

  1. IB的成绩计算及ATAR转换
  2. 我为什么建议大家玩知乎
  3. MAC下编译AOSP问题:Undefined symbols for architecture i386
  4. 数据库实训项目之图书借阅系统
  5. DNS SERVICE配置-winserver1
  6. 如何利用今日头条盈利?
  7. SpringCloudAlibaba与Netfix SpringCloud关系
  8. WSUS专题之一:WSUS简介
  9. C语言驾校管理系统,驾校管家
  10. 计算机系统结构试题汇总,计算机系统结构试题汇总带答案.pdf