密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。

假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。

他是这么变换的,大家都知道手机上的字母: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,就这么简单,渊子把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换,

声明:密码中没有空格,而密码中出现的大写字母则变成小写之后往后移一位,如:X,先变成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。

可以用if判断,也可以用正则匹配

package test;import java.util.Scanner;public class exam13 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (scanner.hasNext()) {String str = scanner.nextLine();// char[] pwd = str.toCharArray();
//            System.out.println(truepwd(str).toString());
            System.out.println(truepwd2(str));}scanner.close();}// 方法1:if判断public static StringBuilder truepwd(String str) {StringBuilder sbBuilder = new StringBuilder();for (int i = 0; i < str.length(); i++) {char ch = str.charAt(i);if (ch >= 'A' && ch < 'Z') {ch = (char) (ch + 1 - ('A' - 'a'));} else if (ch == 'Z') {ch = 'a';} else if (ch >= 'a' && ch <= 'z') {if (ch == 'a' || ch == 'b' | ch == 'c') {ch = '2';} else if (ch == 'd' || ch == 'e' || ch == 'f') {ch = '3';} else if (ch == 'g' || ch == 'h' || ch == 'i') {ch = '4';} else if (ch == 'j' || ch == 'k' || ch == 'l') {ch = '5';} else if (ch == 'm' || ch == 'n' || ch == 'o') {ch = '6';} else if (ch == 'p' || ch == 'q' || ch == 'r' || ch == 's') {ch = '7';} else if (ch == 't' || ch == 'u' || ch == 'v') {ch = '8';} else if (ch == 'w' || ch == 'x' || ch == 'y' || ch == 'z') {ch = '9';}}sbBuilder.append(ch);}return sbBuilder;}// 方法2:使用正则表达式public static String truepwd2(String str) {StringBuffer sBuffer = new StringBuffer(str);for (int i = 0; i < str.length(); i++) {char ch = sBuffer.charAt(i);if (ch >= 'A' && ch < 'Z') {ch = (char) (ch + 1 - ('A' - 'a'));} else if (ch == 'Z') {ch = 'a';} else if (ch >= 'a' && ch <= 'z') {if (String.valueOf(ch).matches("[abc]")) {ch = '2';} else if (String.valueOf(ch).matches("[def]")) {ch = '3';} else if (String.valueOf(ch).matches("[ghi]")) {ch = '4';} else if (String.valueOf(ch).matches("[jkl]")) {ch = '5';} else if (String.valueOf(ch).matches("[mno]")) {ch = '6';} else if (String.valueOf(ch).matches("[pqrs]")) {ch = '7';} else if (String.valueOf(ch).matches("[tuv]")) {ch = '8';} else if (String.valueOf(ch).matches("[wxyz]")) {ch = '9';}}sBuffer.setCharAt(i, ch);}return sBuffer.toString();}}

转载于:https://www.cnblogs.com/bella-young/p/6410237.html

java笔试之简单密码相关推荐

  1. java获取密码框密码_用JAVA编写一个简单密码框

    只是简单的写出一个界面来,没有添加事件响应. import java.awt.*; public class Main { public static void main(String[] args) ...

  2. java简单密码验证程序

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

  3. Java编写简单密码问题

    package three;/** 简单密码* Julius Caesar曾经使用过一种很简单的密码,对于明文中的每个字符,* 用字母表中的后5位所对应的字符代替* 就得到了密文,例如,字符A用F代替 ...

  4. 华为机试 HJ21简单密码【java实现】

    描述 现在有一种密码变换算法. 九键手机键盘上的数字与字母的对应: 1–1, abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9, 0–0, ...

  5. java绕过加密密码_Java实现简单密码加密功能

    本文实例为大家分享了Java实现简单密码加密案例,供大家参考,具体内容如下 需求: 首先将一组数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字, 最后将第一位和最后一位数字交换. 请任 ...

  6. 笔试算法《简单密码》

    题目描述 密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了.哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全. 假设渊子原来一个BBS上的密码为zvbo9441987 ...

  7. java简单密码校验工具类及弱密码说明

    1.连续性弱密码校验 描述:密码连续性校验是指123456,654321,abcdefg,gfedcba等数字和字母顺序是连续的字符称之为连续性弱密码. 校验方式:PassWordUtil.java通 ...

  8. jsp java 登陆_jsp+java servlet实现简单用户登录

    jsp+java servlet实现简单用户登录(使用数据库,包括注册页面) 功能介绍 本项目通过使用jsp和servlet实现简单的用户登录.主要逻辑为:如果用户不存在,则首先进行注册(注册信息同步 ...

  9. Java消息系统简单设计与实现

    前言:由于导师在我的毕设项目里加了消息系统(本来想水水就过的..),没办法...来稍微研究研究吧..简单简单... 需求分析 我的毕设是一个博客系统,类似于简书这样的,所以消息系统也类似,在用户的消息 ...

最新文章

  1. GridView中实现CheckBox的全选
  2. java double溢出_java – 可以加倍或BigDecimal溢出?
  3. some VM operation when debugging appointment startup
  4. STC单片机程序下载失败总结
  5. html+css+js中的小知识点汇聚(无序 停更)
  6. 随想录(fpga处理图像的优缺点)
  7. 千军万马跑协程goroutine
  8. linux文件的基本权限、默认权限、特殊权限总结
  9. Docker Mesos在生产环境的应用
  10. 台式计算机网卡驱动不能正常使用,电脑网卡驱动程序不正常怎么办 网卡驱动程序不正常解决方法...
  11. [机器学习入门笔记] 2. 2022吴恩达机器学习Deeplearning.ai课程(回顾)
  12. excel减法函数_在excel中进行减法7个例子,包括公式中带条件的减法
  13. css 动态设定div背景颜色
  14. win10连接打印机问题:不能访问此共享文件夹
  15. 布莱克斯科尔斯模型(五) 方程求解过程
  16. 6. 利用word的替换功能可以完成很多工作——word高级替换技巧
  17. 软工网络16个人作业一
  18. 实现Linux服务器配置深度学习环境并跑代码完整步骤
  19. 运维篇—几句话搞明白nginx正向和反向代理的区别
  20. 职业选择心理测试软件,职业选择的心理测试题

热门文章

  1. mysql容器创建命令_centos7下docker创建基本的mysql容器
  2. echarts地图罗平县的json_Echarts全国省市区县地图数据文件(含js及json)
  3. domain,DNS,冗余,DNS劫持的大致原理
  4. 目标检测R-CNN模型的CNN模块微调过程分析【全网最易懂】
  5. python【数据结构与算法】贝祖定理简单讲解
  6. 旧电脑装什么系统最快_旧电脑装什么系统最好?试试Porteus,小巧强悍,直降CPU占用率!...
  7. sleep interrupted异常_Java高并发3中断线程以及isInterrupted与interrupted区别
  8. 学院后勤报修系统php_2020年西航后勤管理服务技能培训
  9. 数据链路层和传输层可靠传输是否重复多余
  10. 产品网络推广方案之网站导航栏如何设置会更利于排名提升?