zoukankan      html  css  js  c++  java
  • 课后作业之字符串加密

    一:程序设计思想:

    该程序开始先输出菜单提示用户输入选项进行操作是要加密还是要解密,通过校验后进行相应操作,加密字符串时先输入要加密的字符串,然后用字符串的toCharArray()方法将字符串转化为char类型数组,然后用循环分别给char类型元素加3,当遇到空格时不加三,对于大写的XYZ三个字母以及小写的xyz三个字母要进行特殊的处理,即要进行加完三后还要减去26,让他们循环到大写的ABC或小写的abc上,对于解密方法,程序一致,只是把加三换成减三,加26换成减26;最后输出相应的字符串。

    二:程序流程图:

    三:程序源代码:

    import java.util.Scanner;
    public class Password
    {
    public static void main(String [] args)
    {
    Scanner input=new Scanner(System.in);
    System.out.println("1 加密");          //输出菜单
    System.out.println("2 解密");
    System.out.println("请选择");
    int choose=input.nextInt();
    while(choose!=1&&choose!=2)                               //校验choose
    {
    System.out.println("输入的选项不符合要求,请重新输入:");
    choose=input.nextInt();
    }
    if(choose==1)                                                           //choose=1进行字符串加密
    {
    String jiami = null;
    System.out.println("请输入要加密的字符串:");
    input.nextLine();
    jiami=input.nextLine();
    char ch[]=jiami.toCharArray();
    System.out.println("加密后为:");
    for(int i=0;i<jiami.length();i++)
    {
    if(ch[i]==' ')ch[i]=' ';
    else
    ch[i]=(char) (ch[i]+3);
    if(ch[i]>'Z'&&ch[i]<(char)'Z'+4||ch[i]>'z')
    ch[i]=(char) (ch[i]-26);
    System.out.print(ch[i]);
    }
    }
    if(choose==2)                //choose=2进行字符串解密
    {
    String jiemi = null;
    System.out.println("请输入要解密的字符串:");
    input.nextLine();
    jiemi=input.nextLine();
    char ch1[]=jiemi.toCharArray();
    System.out.println("解密后为:");
    for(int i=0;i<jiemi.length();i++)
    {
    if(ch1[i]==' ')ch1[i]=' ';
    else
    ch1[i]=(char) (ch1[i]-3);
    if(ch1[i]>'A'-4&&ch1[i]<'A'||ch1[i]>(char)'a'-4&&ch1[i]<'a')
    ch1[i]=(char) (ch1[i]+26);
    System.out.print(ch1[i]);
    }
    }

    }

    }

    四:结果截图:

  • 相关阅读:
    运算符
    转载:C/C++源代码到可执行程序的过程详解
    #define与运算精度问题探究
    字符数组char
    解决蓝屏代吗0x0000007B的几种常见办法
    转载~vim配置文件
    Ubuntu kill命令用法详解
    How To Ask Questions The Smart Way
    提问的智慧
    【NOIP2012提高组】国王游戏 贪心 + 高精度
  • 原文地址:https://www.cnblogs.com/zhangliqiangvictory/p/7727039.html
Copyright © 2011-2022 走看看