黑马程序员技术交流社区

标题: 1编写一个应用程序用来输入的字符串进行加密,对于字母字符串加密规则如下: [打印本页]

作者: 酱悠先生    时间: 2014-4-12 16:43
标题: 1编写一个应用程序用来输入的字符串进行加密,对于字母字符串加密规则如下:
1编写一个应用程序用来输入的字符串进行加密,对于字母字符串加密规则如下:

‘a’→’d’      ‘b’→’e’     ‘w’→’z’   ……    ‘x’→’a’    ‘y’→’b’     ‘z’→’c’

‘A’→’D’      ‘B’→’E’     ‘W’→’Z’    ……    ‘X’→’A’    ‘Y’→’B’     ‘Z’→’C’

对于其他字符,不进行加密。
作者: 黒■色    时间: 2014-4-12 18:29
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace test10
  6. {
  7.     class Program
  8.     {
  9.         //编写一个应用程序用来输入的字符串进行加密,对于字母字符串加密规则如下:
  10.         //‘a’→’d’      ‘b’→’e’     ‘w’→’z’   ……    ‘x’→’a’    ‘y’→’b’     ‘z’→’c’
  11.         //‘A’→’D’      ‘B’→’E’     ‘W’→’Z’    ……    ‘X’→’A’    ‘Y’→’B’     ‘Z’→’C’
  12.         //对于其他字符,不进行加密。
  13.         static void Main(string[] args)
  14.         {
  15.             Console.WriteLine("请输入需要加密的字符串:");
  16.             string str = Console.ReadLine();
  17.             char[] charArray = str.ToCharArray();

  18.             for (int i = 0; i < charArray.Length; i++)
  19.             {
  20.                 //将str中的字符串转换为ASCII码的十进制形式
  21.                 byte[] byteArray = System.Text.Encoding.ASCII.GetBytes(charArray[i].ToString());

  22.                 if ((byteArray[0] > 64) && (byteArray[0] < 88))//SCII码中的65-87对应的是A-W,进行加密,再传给字符数组
  23.                 {
  24.                     byteArray[0] = Convert.ToByte(byteArray[0] + 3);
  25.                     charArray[i] = Convert.ToChar(byteArray[0]);
  26.                 }
  27.                 else if ((byteArray[0] > 96) && (byteArray[0] < 120))//SCII码中的97-119对应的是a-w,进行加密,再传给字符数组
  28.                 {
  29.                     byteArray[0] = Convert.ToByte(byteArray[0] + 3);
  30.                     charArray[i] = Convert.ToChar(byteArray[0]);
  31.                 }
  32.                 else if ((byteArray[0] > 87) && (byteArray[0] < 91))//SCII码中的88-90对应的是X-Z,进行加密,再传给字符数组
  33.                 {
  34.                     byteArray[0] = Convert.ToByte(byteArray[0] - 23);
  35.                     charArray[i] = Convert.ToChar(byteArray[0]);
  36.                 }
  37.                 else if ((byteArray[0] > 119) && (byteArray[0] < 123))//SCII码中的120-122对应的是x-z,进行加密,再传给字符数组
  38.                 {
  39.                     byteArray[0] = Convert.ToByte(byteArray[0] - 23);
  40.                     charArray[i] = Convert.ToChar(byteArray[0]);
  41.                 }
  42.             }

  43.             //输出加密后的字符
  44.             for (int i = 0; i < charArray.Length; i++)
  45.             {
  46.                 Console.Write(charArray[i]);
  47.             }     
  48.             Console.ReadKey();
  49.         }
  50.     }
  51. }
复制代码

作者: 茹化肖    时间: 2014-4-12 23:23
入学测试题,自己做吧
作者: SunshineGirl    时间: 2014-4-14 13:34
请及时设置提问结束
作者: 郑亚卓    时间: 2015-10-11 22:38
思路差不多,如果让我写,可没那么轻松啊
作者: 郑亚卓    时间: 2015-10-11 23:02
  1. package come.heima.fuxi;

  2. import java.util.Scanner;

  3. public class Demo1 {

  4.         /**
  5.          * //编写一个应用程序用来输入的字符串进行加密,对于字母字符串加密规则如下:
  6.         //‘a’→’d’      ‘b’→’e’     ‘w’→’z’   ……    ‘x’→’a’    ‘y’→’b’     ‘z’→’c’
  7.         //‘A’→’D’      ‘B’→’E’     ‘W’→’Z’    ……    ‘X’→’A’    ‘Y’→’B’     ‘Z’→’C’
  8.         //对于其他字符,不进行加密。
  9.          */
  10.         public static void main(String[] args) {
  11.                 Scanner sc = new Scanner(System.in);
  12.                 System.out.println("请输入一段字符串");
  13.                 String line = sc.nextLine();
  14.                
  15.                 for (int i = 0; i < line.length(); i++) {
  16.                           char ch = line.charAt(i);
  17.                           if(ch >='a'&&ch<='w'){
  18.                            ch = (char) (ch + 3);
  19.                       }else if (ch >='x'&&ch<='z') {
  20.                            ch = (char) ('a' +( ch - 'x' ));          
  21.                       }else if(ch >='A' && ch <= 'W'){
  22.                               ch = (char)(ch + 3);
  23.                       }else if(ch >= 'X' && ch <= 'Z'){
  24.                               ch = (char)('A' + (ch - 'X'));
  25.                       }
  26.                           System.out.print(ch);
  27.                 }
  28.                
  29.         }

  30. }
复制代码

技术有限只能用基础做




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2