java笔试之简单密码
密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。
假设渊子原来一个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笔试之简单密码相关推荐
- java获取密码框密码_用JAVA编写一个简单密码框
只是简单的写出一个界面来,没有添加事件响应. import java.awt.*; public class Main { public static void main(String[] args) ...
- java简单密码验证程序
java简单密码验证程序 package demo01;import java.util.Scanner;/*** java模拟密码验证问题* 从键盘上录入6位密码,验证密码是不是6位,如果不是6位提 ...
- Java编写简单密码问题
package three;/** 简单密码* Julius Caesar曾经使用过一种很简单的密码,对于明文中的每个字符,* 用字母表中的后5位所对应的字符代替* 就得到了密文,例如,字符A用F代替 ...
- 华为机试 HJ21简单密码【java实现】
描述 现在有一种密码变换算法. 九键手机键盘上的数字与字母的对应: 1–1, abc–2, def–3, ghi–4, jkl–5, mno–6, pqrs–7, tuv–8 wxyz–9, 0–0, ...
- java绕过加密密码_Java实现简单密码加密功能
本文实例为大家分享了Java实现简单密码加密案例,供大家参考,具体内容如下 需求: 首先将一组数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字, 最后将第一位和最后一位数字交换. 请任 ...
- 笔试算法《简单密码》
题目描述 密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了.哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全. 假设渊子原来一个BBS上的密码为zvbo9441987 ...
- java简单密码校验工具类及弱密码说明
1.连续性弱密码校验 描述:密码连续性校验是指123456,654321,abcdefg,gfedcba等数字和字母顺序是连续的字符称之为连续性弱密码. 校验方式:PassWordUtil.java通 ...
- jsp java 登陆_jsp+java servlet实现简单用户登录
jsp+java servlet实现简单用户登录(使用数据库,包括注册页面) 功能介绍 本项目通过使用jsp和servlet实现简单的用户登录.主要逻辑为:如果用户不存在,则首先进行注册(注册信息同步 ...
- Java消息系统简单设计与实现
前言:由于导师在我的毕设项目里加了消息系统(本来想水水就过的..),没办法...来稍微研究研究吧..简单简单... 需求分析 我的毕设是一个博客系统,类似于简书这样的,所以消息系统也类似,在用户的消息 ...
最新文章
- GridView中实现CheckBox的全选
- java double溢出_java – 可以加倍或BigDecimal溢出?
- some VM operation when debugging appointment startup
- STC单片机程序下载失败总结
- html+css+js中的小知识点汇聚(无序 停更)
- 随想录(fpga处理图像的优缺点)
- 千军万马跑协程goroutine
- linux文件的基本权限、默认权限、特殊权限总结
- Docker Mesos在生产环境的应用
- 台式计算机网卡驱动不能正常使用,电脑网卡驱动程序不正常怎么办 网卡驱动程序不正常解决方法...
- [机器学习入门笔记] 2. 2022吴恩达机器学习Deeplearning.ai课程(回顾)
- excel减法函数_在excel中进行减法7个例子,包括公式中带条件的减法
- css 动态设定div背景颜色
- win10连接打印机问题:不能访问此共享文件夹
- 布莱克斯科尔斯模型(五) 方程求解过程
- 6. 利用word的替换功能可以完成很多工作——word高级替换技巧
- 软工网络16个人作业一
- 实现Linux服务器配置深度学习环境并跑代码完整步骤
- 运维篇—几句话搞明白nginx正向和反向代理的区别
- 职业选择心理测试软件,职业选择的心理测试题
热门文章
- mysql容器创建命令_centos7下docker创建基本的mysql容器
- echarts地图罗平县的json_Echarts全国省市区县地图数据文件(含js及json)
- domain,DNS,冗余,DNS劫持的大致原理
- 目标检测R-CNN模型的CNN模块微调过程分析【全网最易懂】
- python【数据结构与算法】贝祖定理简单讲解
- 旧电脑装什么系统最快_旧电脑装什么系统最好?试试Porteus,小巧强悍,直降CPU占用率!...
- sleep interrupted异常_Java高并发3中断线程以及isInterrupted与interrupted区别
- 学院后勤报修系统php_2020年西航后勤管理服务技能培训
- 数据链路层和传输层可靠传输是否重复多余
- 产品网络推广方案之网站导航栏如何设置会更利于排名提升?