黑马程序员技术交流社区
标题:
一道面试题,简单的文件加密 折射出来自己的信心问题
[打印本页]
作者:
百川
时间:
2014-3-25 21:02
标题:
一道面试题,简单的文件加密 折射出来自己的信心问题
面试的一道题:
用户从键盘输入一串字符,要求屏幕上显示的是加密后的字符。
字母字符串加密规则如下:
‘a’→’d’ ‘b’→’e’ ‘w’→’z’ …… ‘x’→’a’ ‘y’→’b’ ‘z’→’c’
‘A’→’D’ ‘B’→’E’ ‘W’→’Z’ …… ‘X’→’A’ ‘Y’→’B’ ‘Z’→’C’
对于其他字符,不进行加密。
第一个想法是定义一个字符串abc...xyzabcABC...XYZABC。然后通过indexOf数值+3得到密码。后来想不会这么简单吧?就说了不会。
事后通过自己的想法验证了下还是很简单的。但是这小小的问题却让我觉得自己有的时候确实缺乏自信啊。希望自己以后多给自己加加油。也希望同学们以后对自己多一点信心,加油↖(^ω^)↗
下面是自己实现的代码。
char chr = Console.ReadKey(true).KeyChar;
string str = "abcdefghijklmnopqrstuvwxyzabcABCDEFGHIJKLMNOPQRSTUVWXYZABC";
char end = str[str.IndexOf(chr) + 3];
Console.Write(end);
复制代码
作者:
czwanglei
时间:
2014-3-25 21:22
加油。。。
作者:
mdb
时间:
2014-3-25 21:22
好熟悉的题目,估计是想考对ascii的了解的,不过楼主用的方法也可以
char c = Console.ReadKey().KeyChar;
if ("XYZxyz".Contains(c))
Console.WriteLine((char)(((int)c) - 23));
else if (((int)c >= 65 && (int)c <= 90) || ((int)c >= 97 && (int)c <= 122))
Console.WriteLine((char)(((int)c) + 3));
else Console.WriteLine(c);
复制代码
作者:
百川
时间:
2014-3-25 21:31
厉害,加油~!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2