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

    1.设计思想:首先判断是要加密还是解密,然后再进行字符串的通过ASCLL码表值的加减来完成加密或者解密。

    2.程序流程图:

    3.源代码:

     1 package Luomamima;
     2 import java.util.Scanner;
     3 public class Test 
     4 {
     5     private static Scanner scan;
     6     public static void main(String[] args)
     7     {
     8         Scanner scanner=new Scanner(System.in);
     9         int length;  //用户输入的字符串长度  
    10         String s;
    11         scan = new Scanner(System.in); 
    12         System.out.println("请选择你要进行的操作:");
    13         System.out.println("1.加密字符串");
    14         System.out.println("2.解密字符串");
    15         int a=scanner.nextInt();
    16         System.out.println("请输入要加密或解密的字符串:");
    17         s  = scan.nextLine();  //读取用户输入的字符串并赋值给s
    18         System.out.println("你输入的字符串为:"+s );
    19         length = s .length();  //得到用户输入字符串的长度
    20         char array[] = s .toCharArray();  //将用户输入的字符串转化为字符数组
    21         if(a==1)//加密
    22         {    for(int i=0;i<length;i++)  //将每个字符进行变换
    23             {    
    24                 if((array[i]>=65&&array[i]<=87))
    25                     array[i]=(char) (array[i]+3);
    26                 else if((array[i]>=88&&array[i]<=90))
    27                     array[i]=(char) (array[i]-23);
    28             }
    29             StringBuffer arr = new StringBuffer();  //定义一个stringbuffer类的变量arr
    30             for(int i=0;i<length;i++)
    31             {
    32                 arr.append(array[i]);  //运用append方法,参考StringBufferAppend。java
    33             }
    34             String newstr = arr.toString();  //将变换后的重新组合为字符串
    35             System.out.println("加密后字符串为:"+newstr);  //打印组合后的字符串
    36         }
    37         if(a==2)//解密
    38         {
    39             for(int i=0;i<length;i++)  //将每个字符进行变换
    40             {    
    41                 if((array[i]>=68&&array[i]<=90))
    42                     array[i]=(char) (array[i]-3);
    43                 else if((array[i]>=65&&array[i]<=67))
    44                     array[i]=(char) (array[i]+23);
    45             }
    46             StringBuffer arr = new StringBuffer();  //定义一个stringbuffer类的变量arr
    47             for(int i=0;i<length;i++)
    48             {
    49                 arr.append(array[i]);  //运用append方法
    50             }
    51             String newstr = arr.toString();  //将变换后的重新组合为字符串
    52             System.out.println("解密后的字符串为:"+newstr);  //打印组合后的字符串
    53         }
    54                 
    55     }
    56 }

    4.结果截图:

    加密:

    解密:

  • 相关阅读:
    结构体中的冒号_转
    随机数产生random
    gdb调试段错误及使用
    gcc选项-g与-rdynamic的异同_转
    linux设备模型_转
    boost 1.57.0安装
    技术的正宗与野路子_转
    (转)Java里的堆(heap)栈(stack)和方法区(method)(精华帖,多读读)
    (转)面试大总结之一:Java搞定面试中的链表题目
    (转)类加载器与双亲委派模型
  • 原文地址:https://www.cnblogs.com/liurx/p/7743909.html
Copyright © 2011-2022 走看看