课后作业:字串加密

本文介绍了一个简单的字符串加密和解密程序实现。该程序使用Java编写,能够对输入的字符串进行加密或解密操作,并特别处理了字母X、Y、Z与A、B、C之间的转换。

1.设计思想

  先把输入的字符串转化为字符数组,利用for循环对字符进行加密,或者解密,最后注意把26个英文字母中的A B C和X Y Z互相进行转换,从而完成加密。

2.程序流程图

 

3.源代码

package test2;

import java.util.Scanner;//引入Scanner类包

public class JiaMi
{
public static void main(String[] args)
{

   System.out.println("选择要进行的操作:1-加密 2-解密");
   Scanner input=new Scanner(System.in);//输入语句
  int c=input.nextInt();
  if(c==1)
  {
    System.out.println("请输入要加密的字符串:");
    String str=input.next();//将输入的字符串存到str中
    char[] a=new char[str.length()];//创建字符数组a
    a=str.toCharArray();//将用户输入的字符串通过toCharArray()转化为字符数组存到a中
    for(int i=0;i<str.length();i++)//将用户输入的X、Y、Z特殊处理转化为A、B、C
    {
      if(a[i]=='X')
      {
        a[i]='A';
      }
      else if(a[i]=='Y')
      {
        a[i]='B';
      }
      else if(a[i]=='Z')
      {
        a[i]='C';
      }
      else
      {
        a[i]=(char)(a[i]+3);//将一般的数组字符直接加3然后强制类型转化为char类型
      }
      }
      String s="";
      for(int i=0;i<str.length();i++)//将字符数组转化为字符串
      {
        s=s+a[i];
      }
      System.out.println("加密后的字符串为:\n"+s);//输出语句

      }
  else if(c==2)
  {
    System.out.println("请输入要解密的字符串:");
    String str=input.next();//将输入的字符串存到str中
    char[] a=new char[str.length()];//创建字符数组a
    a=str.toCharArray();//将用户输入的字符串通过toCharArray()转化为字符数组存到a中
    for(int i=0;i<str.length();i++)//将用户输入的A、B、C特殊处理转化为X、Y、Z
    {
      if(a[i]=='A')
      {
        a[i]='X';
      }
      else if(a[i]=='B')
      {
        a[i]='Y';
      }
      else if(a[i]=='C')
      {
        a[i]='Z';
      }
      else
      {
        a[i]=(char)(a[i]-3);//将一般的数组字符直接减3然后强制类型转化为char类型
      }
    }
    String s="";
    for(int i=0;i<str.length();i++)//将字符数组转化为字符串
    {
      s=s+a[i];
    }
    System.out.println("解密后的字符串为:\n"+s);//输出语句
    }
  }
}

4.结果截图


 

转载于:https://www.cnblogs.com/-wyd/p/7742844.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值