替代算法
来源:互联网 发布:python zlib 压缩率 编辑:程序博客网 时间:2024/04/28 07:28
老师布置的作业,哈,保存到网上。
package net.as.cn;/** * 2013.3.22 am 替换算法 * * @author chenas * */public class MyTiHuan {public final int smalla = 97;public final int bigA = 65;public final int smallz = 122;public final int bigZ = 90;public final int space = 32;public final int smallZero = 96;public final int bigZero = 64;/** * 判断是否为小写字母 * * @param a * @return */public boolean isSmall(char a) {if (a >= 97 && a <= 122) {return true;} elsereturn false;}/** * 判断是否为大写字母 * * @param A * @return */public boolean isBig(char A) {if (A >= 65 && A <= 90) {return true;} elsereturn false;}/** * 判断是否为空格 * * @param spa * @return */public boolean isSpace(char spa) {if (spa == space) {return true;} elsereturn false;}/** * 检查非法字符 * * @param a * @return */public boolean isPass(char a) {if (a == space) {return true;} else if (a >= smalla && a <= smallz) {return true;} else if (a >= bigA && a <= bigZ) {return true;}return false;}/** * * 加密 * * @param mingwen * 明文 * @param yiwei * 右移的位数 * @return 密文 * */public String enCode(String mingwen, int yiwei) {StringBuffer sBuff = new StringBuffer();char[] mw = mingwen.toCharArray();for (int i = 0; i < mw.length; i++) {char temp = 'a';char c = mw[i];if (isPass(c)) {if (isSmall(c)) {temp = (char) (c + yiwei);if (!isPass(temp)) {temp = (char) (temp - smallz + smallZero);}} else if (isBig(c)) {temp = (char) (c + yiwei);if (!isPass(temp)) {temp = (char) (temp - bigZ + bigZero);}} else if (isSpace(c)) {temp = c;}} else {return sBuff.append("输入中带有非法字符!").toString();}sBuff.append(temp);}return sBuff.toString();}/** * 解密 * * @param miwen * 密文 * @param yiwei * 左移的位数 * @return 明文 */public String deCode(String miwen, int yiwei) {StringBuffer sBuff = new StringBuffer();char[] mw = miwen.toCharArray();for (int i = 0; i < mw.length; i++) {char temp = 'a';char c = mw[i];if (isPass(c)) {if (isSmall(c)) {temp = (char) (c - yiwei);if (!isPass(temp)) {temp = (char) (smallz - smallZero + temp);}} else if (isBig(c)) {temp = (char) (c - yiwei);if (!isPass(temp)) {temp = (char) (bigZ - bigZero + temp);}} else if (isSpace(c)) {temp = c;}} else {return sBuff.append("密文中带有非法字符!").toString();}sBuff.append(temp);}return sBuff.toString();}public static void main(String[] args) {MyTiHuan mt = new MyTiHuan();String miw = mt.enCode("My name is Jack", 3);System.out.println(miw);String mingw = mt.deCode(miw, 3);System.out.println(mingw);}}
- 替代算法
- 一个替代SQL NOTFOUND的算法
- 操作符重载的替代算法
- Fast RCNN使用MSER算法替代SS【实验记录】Matlab
- 算法导论中间关于递归问题的master method的替代方法
- 算法导论10.2-8-用一个整数地址替代前后指针实现双向链表
- 关于用数组替代递归算法,提高运算速度的问题
- web集群全局唯一request id生成算法, 替代uuid等“通用”方案
- 项目简单实用方式_组合替代继承_算法切换
- 替代STRUTS
- 替代STRUTS
- 字符替代
- 替代NSLog
- NSDateFormatter替代
- 替代变量
- google 替代
- 替代空格
- 替代NSLog
- android系统移植emmc记录(4)-- fdisk 分区命令分析 .
- 危险的Alter User权限
- IOS开发错误汇总
- C语言堆栈入门
- 设置程序亲缘性
- 替代算法
- ARM下如何修改linux系统时间
- Python开发工具的七种“工具”的介绍
- 如何确认11.2 RAC Grid Infrastructure的时区
- 2013年3月22日记录为什么发布程序的时候,目标机连接不上主机的MySql数据库(已解决)
- CentOS下配置iptables防火墙
- C++全局变量的声明和定义
- 【视频教学】学习Oracle前的准备知识和Unix基础
- linux怎样打开21端口 我要在redhat linux中开放21端口