• 04-String 课后作业1


    古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:

    请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想、程序流程图、源代码、结果截图。

    【设计思想】

    定义一个字符串 s,通过键盘输入字符串;键入整型m来选加密还是解密;在类中定义一个setString()方法,来初始化s和加密解密后的字符串w,q;定义一个jiami()方法,在A-W或a-w中temp=(char)(s.charAt(j)+3);在X-Z或x-z中,temp=(char)(s.charAt(j)-23);w+=temp;定义一个jiemi()方法,在D-Z或d-z中temp=(char)(s.charAt(j)-3);在A-C或a-c中,temp=(char)(s.charAt(j)+23);w+=temp;

    【程序流程图】

    【程序源代码】

    //  信1506-2   20163483  袁亚琴
    import java.util.Scanner;
    public class StringCipher
    {
     String s,w,q;
     int i=0;
     char temp=0;
     char charArray[]=new char[100];
     public void setString()
     {
      s="";
      w="";
      q="";
      Scanner input=new Scanner(System.in);
      s=input.nextLine();
     }
     public void jiami()
     {
      i=s.length();
      for(int j=0;j<i;j++)
      {
       if(s.charAt(j)>64&&s.charAt(j)<88||(s.charAt(j)>96&&s.charAt(j)<120))
       {
        temp=(char)(s.charAt(j)+3);
       }
       else if((s.charAt(j)>87&&s.charAt(j)<91)||(s.charAt(j)>119&&s.charAt(j)<123))
       {
        temp=(char)(s.charAt(j)-23);
       }
       w+=temp;
      }
      System.out.println("加密后:"+w);
     }
     public void jiemi()
     {
      i=s.length();
      for(int j=0;j<i;j++)
      {
       if(s.charAt(j)>67&&s.charAt(j)<91||(s.charAt(j)>99&&s.charAt(j)<123))
       {
        temp=(char)(s.charAt(j)-3);
       }
       else if((s.charAt(j)>64&&s.charAt(j)<68)||(s.charAt(j)>96&&s.charAt(j)<100))
       {
        temp=(char)(s.charAt(j)+23);
       }
       q+=temp;
      }
      System.out.println("加密后:"+q);
     }
     public static void main(String[] args)
     {
      System.out.println("请输入一段字符串:");
      StringCipher str=new StringCipher();
      str.setString();
      int m;
      System.out.println("请输入要进行的操作: "+"1、加密字符串 "+"2、解密字符串");
      Scanner input=new Scanner(System.in);
      m=input.nextInt();
         if(m==1)
         {
          str.jiami();
         }
         else if(m==2)
         {
          str.jiemi();
         }
         else
         {
          System.out.println("输入错误.");
         }
     }

    }

    【程序结果截图】

  • 相关阅读:
    Tomcat生命周期管理与观察者模式
    利于ThreadLocal管理Hibernate Session
    Spring多数据源配置
    MySQL数据库性能优化之硬件瓶颈分析
    浅谈监听器与过滤器
    StringManager与单例模式
    ThreadLocal在spring框架中的作用
    spring中事件机制
    MySQL数据库性能优化之存储引擎选择
    Spring常用的Listener
  • 原文地址:https://www.cnblogs.com/DaisyYuanyq/p/7743210.html
Copyright © 2020-2023  润新知