BK网络学院

首页搜索登录
首页业界网页平面多媒体程序数据库办公工具服务器系统网络安全站长认证壁纸
加入收藏 | 网站地图 | | RSS | WAP
你好,游客 登录 注册 搜索

java经典试题:密码解译

[日期:2013-10-22] 作者:闵开慧 来源: [字体: ]

2.37 密码解译

2.37.1题目:为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。例如,可以按一下规律将电文变成密码:

    将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成C。字母按上述规律转换,非字母字符不变。

2.37.2 源程序

 

import Java.util.Scanner;

import javax.swing.JOptionPane;

 

public class Code {

    public static void main(String[] args) {

      String string;

      int numberOfString;

      char letter;

      string = JOptionPane.showInputDialog(null, "输入字符串:");

      numberOfString = string.length();

      for (int i = 0; i < numberOfString; i++) {

          letter = string.charAt(i);

          if ((letter >= 'a' && letter <= 'z')

                  || (letter >= 'A' && letter <= 'Z')) {

              letter = (char) (letter + 4);

              if ((letter > 'Z' && letter <= 'Z' + 4) || letter >= 'z') {

                  letter = (char) (letter - 26);

              }

              System.out.print(letter);

          }

        }

    }

}

 

2.37.3 运行结果:

 

 

Glmre

 

2.37.4 源程序揭秘

程序中对输入的字符处理办法是:先判断它是否为大写字母或小写字母,若是,则将其值加4(变成其后的第4个字母),由于字符的值加4后为int型,所以要强制转换成char型。如果加4后字符值大于'Z'或'z',则表示原来的字母V(或v)之后,应将它转换为A-D(或a-d)之一。办法是使字符变量c的值减去26,如果读者对此还有疑问,请查ASCII码表即可清楚。

还有一点请读者注意:内嵌的if语句不能写成:

if ((letter > 'Z'|| letter >= 'z') {

    letter = (char) (letter - 26);

}

    因为当字母为小写时都满足"letter > 'Z'"条件,从而也执行"letter = (char) (letter - 26);"语句,这就会出错。因此必须限制其范围为"(letter > 'Z' && letter <= 'Z' + 4) || letter >= 'z'"。

关键词:试题  密码  解译 

收藏 推荐 打印 | 录入:blue1000 | 阅读:
最新图文
本文评论   查看全部评论 (2)
表情: 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事/刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 2 楼
* 匿名 发表于 2016/12/25 13:33:32
http://www.blue1000.com/bkhtml/c149/2013-10/71386.htm 优乐美恶搞广告词(改编版) http://www.blue1000.com/show/19323.html 优乐美广告词 http://www.blue1000.com/show/19319.html
第 1 楼
* 匿名 发表于 2016/12/24 13:27:53
http://www.blue1000.com/bkhtml/c149/2013-10/71386.htm 中秋节的来历作文 http://www.blue1000.com/details/zs2040.html 游园博园作文 http://www.blue1000.com/details/zs895.html