• Java第三次课程作业


    一.字符串加密

    1.设计思想

    输入英文字符串,根据加密或解密密码将英文字符串进行逐个加密或解密,最后输出加密或解密后的字符串

    2.程序流程图

    3.源代码

    package kaisa;
    import java.util.Scanner;
    public class kaisa
    {
    public static void main(String[] args)
    {
    System.out.println("请选择:1.加密 2.解密");
    Scanner c=new Scanner(System.in);
    String ss=c.nextLine();
    if(ss.equalsIgnoreCase("1"))//if语句判断加密还是解密
    {
    System.out.println("请输入要加密的英文字符串");
    Scanner sc=new Scanner(System.in);
    String s=sc.nextLine();
    System.out.println("请入加密密码");
    Scanner sc1=new Scanner(System.in);
    int key=sc1.nextInt();
    jiami(s,key);
    }
    else if(ss.equalsIgnoreCase("2"));
    {
    System.out.println("请输入要解密的英文字符串");
    Scanner sc=new Scanner(System.in);
    String s=sc.nextLine();
    System.out.println("请输入解密密码");
    Scanner sc1=new Scanner(System.in);
    int key=sc1.nextInt();
    jiemi(s,key);
    }
    }

    public static void jiami(String str,int k)//加密函数
    {
    String string="";
    for(int i=0;i<str.length();i++)
    {
    char c=str.charAt(i);
    if(c>='a'&&c<='z')
    {
    c+=k%26;
    if(c<'a')
    c+=26;
    if(c>'z')
    c-=26;
    }
    else if(c>='A'&&c<='Z')
    {
    c+=k%26;
    if(c<'A')
    c+=26;
    if(c>'Z')
    c-=26;
    }
    string+=c;
    }
    System.out.println(str+"加密后为:"+string);
    }

    public static void jiemi(String str,int n)//解密函数
    {
    int k=Integer.parseInt("-"+n);
    String string="";
    for(int i=0;i<str.length();i++)
    {
    char c=str.charAt(i);
    if(c>='a'&&c<='z')
    {
    c+=k%26;
    if(c<'a')
    {
    c+=26;
    }
    if(c>'z')
    {
    c-=26;
    }
    else if(c>='A'&&c<='Z')
    {
    c+=k%26;
    if(c<'A')
    {
    c+=26;
    }
    if(c>'Z')
    {
    c-=26;
    }
    string+=c;
    }
    System.out.println(str+"加密后为:"+string);
    }
    }

    4.结果截图

  • 相关阅读:
    13.2 抽像类与体类(Abstract & Concrete Classes) 简单
    13.3 深度隔离的界面(Deeply Parted interface) 简单
    计算天数(C++)_学习 简单
    13.1.2 纯虚函数(Pure Virutal Functions) 简单
    C++ operator关键字(重载操作符) 简单
    二月一共多少天 简单
    重载运算符操作_学习 简单
    计算两个日期之间的天数(C++) 简单
    1.2 连接信号和响应函数 简单
    用Android手机做台式机无线网卡
  • 原文地址:https://www.cnblogs.com/xqyfight/p/7742702.html
Copyright © 2020-2023  润新知