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 }

    四.结果截图。

  • 相关阅读:
    WinDbg调试C#技巧,解决CPU过高、死锁、内存爆满
    Window环境下搭建Git服务器
    Virtual Box虚拟机Ubuntu系统安装及基本配置
    修改VS2017新建类模板文件添加注释
    .net core 使用IIS作为宿主Web服务器,部署常见问题
    Asp.Net进程外Session(状态服务器Session、数据库Session)
    百度地图DEMO-路线导航,测距,标点
    c#文件图片操作
    C#代码安装Windows服务(控制台应用集成Windows服务)
    通过经纬度获取地址信息
  • 原文地址:https://www.cnblogs.com/tianxiayoujiu/p/7741533.html
Copyright © 2011-2022 走看看