• 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.结果截图

  • 相关阅读:
    Lodop客户端本地角色注册号常见误区
    Spring中加载xml配置文件的六种方式
    源程序出现各种奇怪的符号P
    MyEclipse项目中的java文件的图标变成空心的问题
    servlet中的相对路径和绝对路径 及/, ./, ../的区别
    Thread 与 Runnable
    Class.forName()用法详解
    chain.doFilter(request,response)含义
    jsp简单标签开发(一)
    createStatement()的用法
  • 原文地址:https://www.cnblogs.com/xqyfight/p/7742702.html
Copyright © 2020-2023  润新知