zoukankan      html  css  js  c++  java
  • 字串加密

    一.程序设计思想

    1.输入一个字符串

    2.将这个字符串解析为一个字符数组

    3.对其字符串进行判定,如果不是A~Z中的字符(必须是大写),就终止程序,并且输出无法解析

    4.输入加密的数字(就是往后移动的个数)
    (1)特殊情况是向后移动导致没有26个字母中的任一个与其对应。所以要对其进行取余

    5.将字符一个一个的加上加密的数值,就能完

    二.程序流程图

    三.源代码

     1 /*程序设计思想:
     2  * 1.输入一个字符串
     3  * 2.将这个字符串解析为一个字符数组
     4  * 3.输入加密的数字(就是往后移动的个数)
     5  * (1)特殊情况是向后移动导致没有26个字母中的任一个与其对应。所以要对其进行取余
     6  * 4.将字符一个一个的加上加密的数值,就能完成
     7  * */
     8 package class6;
     9 
    10 import java.util.Scanner;
    11 
    12 import org.w3c.dom.css.CSSStyleSheet;
    13 
    14 public class Encrypt {
    15     
    16 
    17     public static void main(String[] args) 
    18     {
    19         Scanner in = new Scanner(System.in);
    20         
    21         //输入字符串
    22         System.out.println("请输入一个字符串:");
    23         String str = in.next();
    24         
    25         //对字符串进行判定(如果是A~Z且都是大写则继续进行,如果不是则退出程序)
    26         for(int i = 0;i<str.length();i++)
    27         {
    28             int character = str.charAt(i);
    29             if(character<65||character>90)
    30             {
    31                 System.err.println("无法解析!");
    32                 System.exit(1);
    33             }
    34         }
    35         
    36         
    37         //输入要进行加密的数字
    38         System.out.println("请输入要进行加密的数字:");
    39         int move = in.nextInt();
    40         
    41         //对字符串进行移动,也就是加密
    42         String contain1="";
    43         for(int i = 0;i<str.length();i++)
    44         {
    45             int temp = str.charAt(i)+move;
    46             if(temp>90)
    47             {
    48                 temp = temp%90+64;
    49             }
    50             char temp1 = (char)temp;
    51             contain1 = contain1+temp1;
    52         }
    53         System.out.println("加密后的字符串是:"+contain1);
    54         
    55         //反过来执行上述操作,也就是解密
    56         String contain2="";
    57         for(int i = 0;i<contain1.length();i++)
    58         {
    59             int temp = contain1.charAt(i)-move;
    60             if(temp<65)
    61             {
    62                 temp = 90 - (64-temp);
    63             }
    64             char temp1 = (char)temp;
    65             contain2 = contain2+temp1;
    66         }
    67         System.out.println("解密后的字符串是:"+contain2);
    68         
    69     }
    70 
    71 }

    四.结果截图。

  • 相关阅读:
    算法视频库下载常用网址(转载)
    Python study 1
    $X-Real-Ip和$X-Forwarded-For的区别
    python装饰器
    python迭代器和生成器
    python函数动态参数详解
    python常用模块
    python 正则re模块
    pycharm5新版注册
    老男孩python自动化运维作业2
  • 原文地址:https://www.cnblogs.com/tianxiayoujiu/p/7741533.html
Copyright © 2011-2022 走看看